【发布时间】:2014-07-15 11:08:26
【问题描述】:
Boost Test Library 是一个非常有用的单元测试框架。但是,我感到不舒服的一件事是,在单元测试期间,如果发生错误,它会通知用户而不是程序本身。让我以 BOOST_CHECK 为例说明我的观点:
i=3;
j=4;
BOOST_CHECK(i==j);
上面的测试用例会失败。因此,检查细节以找出此测试失败的原因将非常有趣。在这种情况下,如果它知道单元测试失败,则需要在程序中打印一些变量或执行更复杂的操作,例如将文件写入磁盘。但是,BOOST_CHECK 不会返回一个值来表示测试是否成功。一个完美的函数应该是这样工作的:
i=3;
j=4;
if(Enhanced_BOOST_CHECK(i==j) == failed)
{
// print some internal varaibles.
// or write some data to a file in the disk
}
所以我的问题是:BOOST 测试库是否支持此功能?谢谢。
【问题讨论】:
标签: c++ unit-testing boost