有没有办法检查SetUp代码在GTest灯具中是否实际正常工作,以便整个灯具或测试应用程序可以标记为失败,而不是得到奇怪的测试结果和/或必须在每次测试中明确检查?
有没有办法检查SetUp代码在GTest灯具中是否实际正常工作,以便整个灯具或测试应用程序可以标记为失败,而不是得到奇怪的测试结果和/或必须在每次测试中明确检查?
如果你把你的灯具设置代码放入 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中找到有关故障检测的更多信息 高级指南 维基页面。
如果你把你的灯具设置代码放入 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中找到有关故障检测的更多信息 高级指南 维基页面。