C++ 如何设置要运行的Boost单元测试
我正在尝试使用boost测试,尤其是boost单元测试 我显然不明白主函数是如何生成和调用的,教程只说定义一个模块并编写一个测试C++ 如何设置要运行的Boost单元测试,c++,unit-testing,main,boost-test,C++,Unit Testing,Main,Boost Test,我正在尝试使用boost测试,尤其是boost单元测试 我显然不明白主函数是如何生成和调用的,教程只说定义一个模块并编写一个测试 #定义增压测试模块EnfTraderTest BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR(“Oops”)} 但是,我该如何告诉我的程序运行这个测试呢?我已经有了main函数,我想从我的main函数决定是否运行测试。最简单的方法是将测试写入一个.cpp-文件,并在包含单元测试.hpp之前定义宏
#定义增压测试模块EnfTraderTest
BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR(“Oops”)}
但是,我该如何告诉我的程序运行这个测试呢?我已经有了main函数,我想从我的main函数决定是否运行测试。最简单的方法是将测试写入一个
.cpp
-文件,并在包含单元测试.hpp
之前定义宏BOOST\u测试模块。然后可以编译.cpp
-文件并执行它。如果您在多个.cpp
-文件中有测试,只需将它们全部链接在一起,但请注意BOOST\u TEST\u MODULE
或BOOST\u TEST\u MAIN
仅在其中一个文件中定义
您可以使用命令行参数仅运行测试的子集,默认情况下是运行所有测试。重复?可能重复run\u test
:如果使用通配符(例如--run\u test=*foo*
),根据您的shell,您可能需要转义wilcards(例如--run\u test=\*foo\*
)。这就是我在zsh
中遇到的情况。