这篇文章是Boost Unit Test Framework with Multiple Sources
的延续当下面一段代码(借鉴the aforementioned post)
时// test_main.cpp
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE Main
#include <boost/test/unit_test.hpp>
// test1.cpp
#define BOOST_TEST_DYN_LINK
#ifdef STAND_ALONE
# define BOOST_TEST_MODULE Main
#endif
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test1_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(2<1);
}
BOOST_AUTO_TEST_SUITE_END()
// test2.cpp
#define BOOST_TEST_DYN_LINK
#ifdef STAND_ALONE
# define BOOST_TEST_MODULE Main
#endif
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test2_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(1<2);
}
BOOST_AUTO_TEST_SUITE_END()
使用编译,(as suggested)
$ g++ test_main.cpp test1.cpp test2.cpp -lboost_unit_test_framework -o tests
如何使用Boost.Build实现这一目标(使用Boost.Build从Boost Unit Test Framework的多个源编译和测试)?
答案 0 :(得分:0)
要使用Boost.Build rule unit-test编译和运行单元测试,请创建以下Jamfile
unit-test test_all
: [ glob test*.cpp ] /root//boost_test
;
并在/home/<user>/user-config.jam
中定义库,如下所示
project root ;
lib boost_test : : <name>boost_unit_test_framework ;