10
有沒有一種方法可以檢查SetUp代碼在GTest燈具中是否實際正常工作,以便整個燈具或測試應用程序可以標記爲失敗,而不是得到奇怪的測試結果和/或必須在每個測試中明確檢查?您可以在Google Test中測試SetUp成功/失敗嗎?
有沒有一種方法可以檢查SetUp代碼在GTest燈具中是否實際正常工作,以便整個燈具或測試應用程序可以標記爲失敗,而不是得到奇怪的測試結果和/或必須在每個測試中明確檢查?您可以在Google Test中測試SetUp成功/失敗嗎?
如果您將燈具設置代碼放入SetUp
方法中,並且失敗併發出致命故障(ASSERT_XXX
或FAIL
宏),Google Test將不會運行您的測試機構。因此,所有你必須寫的是
class MyTestCase : public testing::Test {
protected:
bool InitMyTestData() { ... }
virtual void SetUp() {
ASSERT_TRUE(InitMyTestData());
}
};
TEST_F(MyTestCase, Foo) { ... }
然後MyTestCase.Foo
將不執行,如果InitMyTestData()
返回false。如果您的設置代碼中已有非致命聲明(即EXPECT_XXX
或ADD_FAILURE
),則可以通過編寫ASSERT_FALSE(HasFailure());
來生成致命聲明。您可以在Google Test Advanced Guide wiki頁面找到關於故障檢測的更多信息。
這仍然顯示爲我通過的所有測試。 – marsh