提升C++:单元测试 + 构建 - 多个源

Boost C++: Unit Test + Build - Multiple Sources

本文关键字:构建 C++ 单元测试 提升      更新时间:2023-10-16

这篇文章是Boost Unit Test Framework with Multiple Source的延续

当以下一段代码(借用自上述帖子)

// 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()

编译,(如建议)与

$ g++ test_main.cpp test1.cpp test2.cpp -lboost_unit_test_framework -o tests
如何使用 Boost.Build

实现此目的(使用 Boost.Build 从多个来源编译和测试用于 Boost 单元测试框架)?

为了使用 Boost.Build 规则单元测试编译和运行单元测试,请创建以下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 ;

另请参阅此 nabble 线程