如何在boost中以编程方式获得测试结果
How to get the test outcome programmatically in boost
是否有可能确定升压测试的结果?
。如果boost支持If语句,
if( BOOST_CHECK_SMALL(Fred,0.001))
{
...
printValuesInTest("This value failed:",Fred);
}
如果语句似乎有效,或者我可能有糟糕的一天。
我认为你处理这件事的方法是错误的。单元测试工具通常由测试运行器执行。这类框架的全部意义在于避免像:
这样的事情// you dont need a unit testing framework to do this!
if(false_cond())
{
print_error(...)
// do other error reporting stuff
}
关键是不要直接运行这些测试,而是使用单元测试框架的宏和命名方案来注册测试用例(每个用例由一个或多个测试断言/条件组成)。这些测试用例有时可以使用测试套件分组到类别和子类别中。然后,测试运行器将运行所有测试并向您提供报告。这样做的主要好处是您可以专注于测试的逻辑,而不是创建、维护和担心测试/错误报告的机制。因此,在使用单元测试框架时,您不应该检查假设是否为真,而应该断言它是真还是假。同样,您应该尝试立即处理错误报告;您应该将任何描述信息交给单元测试框架,这样它就可以正确地报告它。
Boost为如何将测试运行器链接到您正在测试的库提供了多个选项。通常,一旦您使用正确的宏包含了头文件,运行库将实际运行测试运行器,它将运行您的所有测试。您还可以选择使用外部测试运行器。
这里有一个比官方文档更好的介绍来促进单元测试。
相关文章:
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 在没有管理员权限的情况下,在 c++ 中以编程方式将程序添加到启动
- 如何以编程方式将音频从任何录制设备路由到任何播放设备
- 我是否可以使用 win32 句柄以编程方式记录发送到/接收到 USB/COM 的内容
- 如何以编程方式使窗口全屏显示?
- 终端如何在 shell 提示符下以编程方式阻止退格,以便您无法在其上退格,例如 $ 表示 bash 或 C:\blah\>
- 如何使用打印到 PDF 打印机在 MFC 和 CView 中以编程方式打印而不提示输入文件名?
- 如何以编程方式显示功能区按钮的下拉菜单?
- 是否可以以编程方式构造 std::initializer_list?
- 在 Visual C++ 中以编程方式更改按钮的背景图像
- 附加调试器并以编程方式获取变量地址 Visual Studio
- 以编程方式重新连接断开的 VHD 链
- 如何以编程方式获取任务管理器进程CPU使用率(不是PerfMon API)
- 以编程方式在任何按钮上突出显示 Qt 鼠标悬停按钮
- 以编程方式防止重命名或删除文件,但仍使其可写
- 以编程方式连接子图
- 如何以编程方式区分在内存的堆和堆栈部分创建的对象
- 如何以编程方式从PKCS7中提取CA、多个CA和公共证书/密钥
- 如何以编程方式将路由添加到网络接口
- 以编程方式在 C++ 中创建函数