【发布时间】:2013-05-01 01:32:11
【问题描述】:
我的 C++ 应用程序有各种基于 shell 的独立程序集成测试以及应用程序 API 的源代码单元测试。测试通过 make check 目标运行,通过 Autotools (autoconf, automake) 生成,come with a test-driver and a log parser。我已经开始采用 Boost 单元测试框架来更好地管理单元测试套件。有没有办法在make check 目标下同时运行验收测试和单元测试(同时使用 Boost UTF 和标准 TAP 测试)?
我的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)
Boost 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();
【问题讨论】:
标签: c++ unit-testing boost autotools tap