Boost C ++:单元测试+构建 - 多个来源

时间:2015-06-11 16:42:54

标签: c++ unit-testing boost

这篇文章是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的多个源编译和测试)?

1 个答案:

答案 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 ;

另请参阅this nabble thread