我想編寫一個方法在我的測試套件 如下:C++壓單元測試的錯誤消息
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?
Boost 1.40似乎不允許我將BOOST_MESSAGE 作爲第二個參數(只是一個文字字符串)。 – user231536 2010-01-20 20:46:10
糟糕,當不需要時,放入BOOST_MESSAGE。用正確的版本更新答案。 – 2010-01-20 22:40:08