我的C++应用程序对应用程序的API为独立的程序各种基于壳集成测试以及源代码的单元测试。这些测试通过make check
目标跑,通过自动工具(autoconf的,automake的),其come with a test-driver and a log parser生成。我已经开始采用了Boost单元测试框架进行单元测试套件进行更好的管理。有没有办法同时运行验收测试和单元测试的make check
目标下(同时使用升压UTF和标准TAP测试)?使用升压单元测试框架(UTF)与`让check`
我Makefile.am
看起来是这样的:
check_PROGRAMS = test1 test2
SOURCES = test1.cpp test2.cpp
CC = g++
TESTS = $(check_PROGRAMS) standalone1.test standalone2.test
LDADD = -lboost_unit_test_framework
TEST_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
$(top_srcdir)/test/tap-driver.sh
EXTRA_DIST = $(TESTS)
升压UTF测试套件看起来是这样的:
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE "My Unit Tests"
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(MyTestSuite1);
BOOST_AUTO_TEST_CASE(MyTestCase1) {
BOOST_CHECK(true);
}
BOOST_AUTO_TEST_SUITE_END();