0
我目前在我的一個軟件項目中使用Boost.Log。有一種情況,我通過使用日誌消息來報告錯誤情況。我想測試是否使用谷歌測試框架正確檢測到這種情況。爲了清楚起見,我想測試消息是否生成。它可能會被過濾器刪除,但這不會導致測試失敗。這可能嗎?任何提示?謝謝!測試是否使用Boost.Log生成日誌消息
我目前在我的一個軟件項目中使用Boost.Log。有一種情況,我通過使用日誌消息來報告錯誤情況。我想測試是否使用谷歌測試框架正確檢測到這種情況。爲了清楚起見,我想測試消息是否生成。它可能會被過濾器刪除,但這不會導致測試失敗。這可能嗎?任何提示?謝謝!測試是否使用Boost.Log生成日誌消息
對於基地是或否的測試,只需使用assert
,像這樣:
#include <assert.h> /* assert */
void print_number(int* myInt) {
assert (myInt!=NULL);
// Boost.Log stuff...
// print_number stuff...
}
這會給你一個直線上升的消息(取決於編譯/ OS)如果測試失敗。
該解決方案並不像我希望的那樣普遍(例如測試警告),但適用於手頭的案例。感謝您直接設置我,我專注於檢測日誌消息的可能性,我沒有考慮明顯的解決方案!稍後我會接受你的答案,以防沒有人出現更通用的答案。 –
你也可以在'#include'之前用一個簡單的'#define NDEBUG'輕鬆禁用生產代碼(即在你的通用頭文件或makefile /命令行中) –