是否有一個選項只顯示失敗的測試?我不得不切換到使用吉他來實現這一點,但我錯過了命令行工具。配置gtest僅在控制檯上顯示失敗的測試
12
A
回答
0
5
有兩種方法可以實現這一點。
第一個是寫自己的事件偵聽器:
http://code.google.com/p/googletest/wiki/V1_6_AdvancedGuide#Defining_Event_Listeners
另一種方式是過濾googletest事件偵聽器接收輸入。
對於這個approache刪除當前事件偵聽器和與之交換自己
testing::TestEventListeners& listeners = testing::UnitTest::GetInstance()->listeners();
testing::TestEventListener* listener = listeners.Release(listeners.default_result_printer());
listeners.Append(new FailurePrinter(listener));
其中FailurePrinter是你自己的事件監聽器類。
這個類應該是這樣的
class FailurePrinter : public ::testing::TestEventListener {
public:
FailurePrinter(TestEventListener* listener) : TestEventListener() {_listener = listener;}
virtual void OnTestProgramStart(const UnitTest& unit_test);
virtual void OnTestIterationStart(const UnitTest& unit_test, int iteration);
virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test);
virtual void OnEnvironmentsSetUpEnd(const UnitTest& unit_test);
virtual void OnTestCaseStart(const TestCase& test_case);
virtual void OnTestStart(const TestInfo& test_info);
virtual void OnTestPartResult(const TestPartResult& result);
virtual void OnTestEnd(const TestInfo& test_info);
virtual void OnTestCaseEnd(const TestCase& test_case);
virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test);
virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test);
virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration);
virtual void OnTestProgramEnd(const UnitTest& unit_test);
protected:
testing::TestEventListener* _listener;
};
現在你必須實現所有方法。
如果您喜歡googles事件偵聽器打印某些內容的方式,只需將調用委託給_listener。
或者您可以修改結果。 例如:
void FailurePrinter::OnTestPartResult(const TestPartResult& test_part_result)
{
if (test_part_result.failed())
{
_listener->OnTestPartResult(test_part_result);
printf("\n");
}
}
將只打印Testfailures。
6
0
我寫了Google Test Pretty Printer,Google測試的測試監聽器/漂亮打印機,爲Google測試程序提供更乾淨,更具吸引力的控制檯輸出。它包括一個--failures-only
選項,應該做你想做的。
相關問題
- 1. 僅在測試失敗
- 2. 僅在Teamcity上測試失敗
- 3. 在控制檯上顯示濃縮咖啡測試結果
- 4. Visual Studio 2010測試控制器負載測試數據庫配置失敗?
- 5. 如何輸出測試失敗的痕跡STRACK到控制檯
- 6. Rspec的控制器測試失敗
- 7. 爲什麼測試在提示時失敗並通過導軌控制檯?
- 8. 配置測試控制器
- 9. ES6地圖顯示失敗,在控制檯
- 10. 顯示Rails測試失敗的行號
- 11. nunit控制檯不告訴哪些測試失敗了
- 12. 單元測試AngularJS控制器失敗
- 13. 調試僅在TeamCity上失敗的測試
- 14. Rspec的控制器測試分配二維散列失敗
- 15. 變量試圖顯示在控制檯
- 16. 運行使用SWT顯示的JUnit測試在Jenkins上失敗
- 17. neo4j控制檯失敗
- 18. 導出gtest函數導致失敗的測試通過
- 19. 摩卡測試失敗並顯示AssertionError
- 20. 使YUI TestLogger只顯示測試失敗?
- 21. 硒網格控制檯顯示「[/127.0.0.1]失敗:連接被拒絕」
- 22. 控制檯中的測試
- 23. 測試執行失敗,因爲失敗配置負載
- 24. 在屏幕上顯示Web控制檯?
- 25. node.js在控制檯上顯示「undefined」
- 26. Azure Java SDK上的VM配置失敗 - 測試版5
- 27. 使用通配符忽略控制檯上的NUnit測試
- 28. 單元測試IHttpActionResult控制器 - 測試200 OK失敗
- 29. 用戶配置文件控制器Rspec測試因路由而失敗
- 30. 如何通過控制檯在qtwebkit中配置顯示字體?
這應該是接受的答案 – Purefan