是否有可能确定加强试验的结果?
e.g。如果提升支持if语句,
if( BOOST_CHECK_SMALL(Fred,0.001))
{
...
printValuesInTest("This value failed:",Fred);
}
如果陈述确实有效,或者我可能有糟糕的一天。
答案 0 :(得分:2)
我认为你正在接近这个错误。单元测试工具通常由测试运行器执行。这些类型的框架的重点是避免做:
之类的事情// you dont need a unit testing framework to do this!
if(false_cond())
{
print_error(...)
// do other error reporting stuff
}
重点是您不要尝试直接运行这些测试,而是使用单元测试框架的宏和命名方案来注册 测试个案(每个由一个或多个测试断言 /条件组成)。有时可以使用测试套件将这些测试用例分组到类别和子类别中。然后,测试运行器将运行所有测试并为您提供报告。
这样做的主要好处是您可以专注于测试的逻辑,而不是创建,维护和担心测试/错误报告的机制 。因此,在使用单元测试框架时,您不应该检查假设是否为真,您应该断言它是真还是假。同样,您应该立即尝试处理错误报告;您应该将任何描述信息交给单元测试框架,以便它可以正确报告。
Boost为测试运行器如何链接到您正在测试的库提供了多个选项。通常,一旦您使用正确的宏包含标头,运行您的库将实际运行测试运行器,它将运行您的所有测试。您还可以选择使用外部测试运行器。
这是一个better intro来推动单元测试,而不是官方文档。