2013-12-17 43 views

回答

8

如果您将灯具设置代码放入SetUp方法中,并且失败并发出致命故障(ASSERT_XXXFAIL宏),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_XXXADD_FAILURE),则可以通过编写ASSERT_FALSE(HasFailure());来生成致命声明。您可以在Google Test Advanced Guide wiki页面找到关于故障检测的更多信息。

+0

这仍然显示为我通过的所有测试。 – marsh

相关问题