Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何设置要运行的Boost单元测试_C++_Unit Testing_Main_Boost Test - Fatal编程技术网

C++ 如何设置要运行的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之前定义宏

我正在尝试使用boost测试,尤其是boost单元测试

我显然不明白主函数是如何生成和调用的,教程只说定义一个模块并编写一个测试

#定义增压测试模块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
中遇到的情况。