【发布时间】:2010-01-20 20:08:26
【问题描述】:
我想在我的测试套件中编写一个方法 如下:
void checkParams(arg1, arg2, arg3)
{
BOOST_REQUIRE(arg1==1);
BOOST_REQUIRE(arg2==2);
BOOST_REQUIRE(arg3==3);
}
但是,如果断言失败,我想向 stderr 写一些东西。例如, 如果第一个断言失败,我想写: checkParams 失败,参数 arg1=5, arg2=4, arg3=3
现在写它生成的消息就是关键检查失败 5==1。
更一般地说,我想在失败时创建一个堆栈跟踪,以便我可以看到一个链 导致此失败的电话。请注意,我所有的 BOOST_AUTO_TEST_CASE 都会调用此方法 方法,但它本身不是 BOOST_AUTO_TEST_CASE。
我该怎么做?
另一个问题:我知道我可以通过提供运行时参数来修改日志记录级别,
./test --log_level=all
如何在代码中设置 log_level?
【问题讨论】:
标签: c++ unit-testing boost