c++ - 如何设置要运行的 Boost 单元测试

标签 c++ unit-testing program-entry-point boost-test

我正在尝试使用提升测试,尤其是提升单元测试。

我显然不明白main函数是怎么产生和调用的,教程里说的都是定义模块和写测试

#define BOOST_TEST_MODULE EnfTraderTest

BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR("Oops");}

但是,我该如何告诉我的程序运行这个测试呢?我已经有了主要功能,我想从我的主要功能中决定是否运行测试。

最佳答案

最简单的方法是将测试写入一个 .cpp 文件,并在包含 unit_test.hpp< 之前定义宏 BOOST_TEST_MODULE/。然后您可以编译该 .cpp 文件并执行它。如果您在多个 .cpp 文件中进行测试,只需将它们链接在一起,但要注意 BOOST_TEST_MODULEBOOST_TEST_MAIN 的定义完全相同其中之一。

您可以使用命令行参数run_test只运行测试的一个子集,默认是运行所有测试。

关于c++ - 如何设置要运行的 Boost 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5103886/

相关文章:

netbeans - 如何在 Netbeans 中从特定包(不含 main)创建 .jar?

c++ - 使用 opencv 对垫圈进行点检测

c++ - 在链表中遍历后如何获得列表的头部?

c - 在 C 中自动注册单元测试

java - 如何在单元测试中设置不同的类路径以使用 Spring 加载资源

java - 如何模拟主要

java - 为什么 main() 在 java 中被声明为 public 和 static

javascript - 将 openCV C++ 视频流式传输到浏览器

c++ - 如何获取小部件窗口句柄以传递给 Qt 中的 win32 api MessageBox

angular - 在 Angular 的 onInit() 内部编写订阅单元测试