作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以确定加强试验的结果?
例如if 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 为测试运行程序如何链接到您正在测试的库提供了多个选项。通常,一旦您包含带有正确宏的 header ,运行您的库实际上将运行测试运行器,它将运行您的所有测试。您还可以选择使用外部测试运行器。
这是一个better intro比官方文档更能 boost 单元测试。
关于c++ - 如何在boost中以编程方式获取测试结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17119292/
我是一名优秀的程序员,十分优秀!