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