automake:自动 运行 单元测试
automake: automatically run unit tests
我正在维护一个 autoconf 包,想集成自动测试。我使用 Boost Unit Test Framework
进行单元测试,并且能够成功地将它集成到包中。
那是它可以通过 make check
编译,但不是 运行(尽管我读到 make check
既编译又 运行 测试)。结果,我必须在构建测试后手动 运行 它,这很麻烦。
测试文件夹中的 Makefile.am
如下所示:
check_PROGRAMS = prog_test
prog_test_SOURCES = test_main.cpp ../src/class1.cpp class1_test.cpp class2.cpp ../src/class2_test.cpp ../src/class3.cpp ../src/class4.cpp
prog_test_LDADD = $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_UNIT_TEST_FRAMEWORK_LIB)
Makefile.am
在根文件夹中:
SUBDIRS = src test
dist_doc_DATA = README
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
运行 test/prog
产生输出:
Running 4 test cases...
*** No errors detected
(我认为你不需要我的测试用例的内容来回答我的问题,所以我暂时省略了它们)
那么我怎样才能在每次 运行 make check
时进行 automake
运行 测试?
至少一种方法涉及设置 TESTS
变量。 documentation on automake 是这样说的:
If the special variable TESTS is defined, its value is taken to be a list of programs or scripts to run in order to do the testing.
所以添加行
TESTS = $(check_PROGRAMS)
应该指示它 运行 在 make check
上进行测试。
我正在维护一个 autoconf 包,想集成自动测试。我使用 Boost Unit Test Framework
进行单元测试,并且能够成功地将它集成到包中。
那是它可以通过 make check
编译,但不是 运行(尽管我读到 make check
既编译又 运行 测试)。结果,我必须在构建测试后手动 运行 它,这很麻烦。
Makefile.am
如下所示:
check_PROGRAMS = prog_test
prog_test_SOURCES = test_main.cpp ../src/class1.cpp class1_test.cpp class2.cpp ../src/class2_test.cpp ../src/class3.cpp ../src/class4.cpp
prog_test_LDADD = $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_UNIT_TEST_FRAMEWORK_LIB)
Makefile.am
在根文件夹中:
SUBDIRS = src test
dist_doc_DATA = README
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
运行 test/prog
产生输出:
Running 4 test cases...
*** No errors detected
(我认为你不需要我的测试用例的内容来回答我的问题,所以我暂时省略了它们)
那么我怎样才能在每次 运行 make check
时进行 automake
运行 测试?
至少一种方法涉及设置 TESTS
变量。 documentation on automake 是这样说的:
If the special variable TESTS is defined, its value is taken to be a list of programs or scripts to run in order to do the testing.
所以添加行
TESTS = $(check_PROGRAMS)
应该指示它 运行 在 make check
上进行测试。