我知道默認情況下報告是針對標準錯誤的,因此必須將其重定向到一個文件。 我的問題是我們應該在全球夾具中做這件事嗎?這似乎並沒有爲我工作一些如何。使用BOOST.Test在文件中生成測試報告的更好方法是什麼?
這就是我想 -
struct MyConfig
{
MyConfig()
: testReport("fileName.log")
{
if(!testReport.fail())
original = std::cerr.rdbuf(testReport.rdbuf());
}
~MyConfig()
{
cerr.rdbuf(original);
testReport.close();
}
ofstream testReport;
streambuf* original;
};
BOOST_GLOBAL_FIXTURE(MyConfig);
運行測試後,在控制檯上報告僅輸出,雖然0KB文件與給定的名稱創建。
爲什麼'out'需要聲明爲'static'? – Hemant 2010-09-27 06:52:19
我看不出有什麼理由說明非靜態在這裏會失敗,但這是根據鏈接中的信息應該測試的版本。 – 2010-09-27 11:19:25