2013-12-17 2 views

Antwort

8

Wenn Sie Ihren Fixture-Setup-Code in eine SetUp-Methode eingeben, und es einen fatalen Fehler (ASSERT_XXX oder FAIL Makros) ausgibt, führt Google Test Ihre Teststelle nicht aus. Also alles, was Sie schreiben müssen, ist

class MyTestCase : public testing::Test { 
protected: 
    bool InitMyTestData() { ... } 

    virtual void SetUp() { 
    ASSERT_TRUE(InitMyTestData()); 
    } 
}; 

TEST_F(MyTestCase, Foo) { ... } 

Dann MyTestCase.Foo nicht, wenn InitMyTestData() false zurück auszuführen. Wenn Sie in Ihrem Setup-Code bereits nicht fatale Assertions haben (z. B. EXPECT_XXX oder ADD_FAILURE), können Sie eine fatale Assertion von ihnen generieren, indem Sie ASSERT_FALSE(HasFailure()); schreiben. Weitere Informationen zur Fehlererkennung finden Sie in der Google Test Advanced Guide Wiki-Seite.

+0

Dies zeigt immer noch alle Tests für mich bestanden. – marsh