2013-12-17 15 views
10

SetUpコードがGTestフィクスチャで実際に正しく機能しているかどうかをチェックする方法があるので、フィクスチャまたはテストアプリケーション全体が奇妙なテスト結果を取得するのではなく、各テストで明示的にチェックする必要はありません?Google TestでSetUpの成功/失敗をテストできますか?

答えて

8

SetUpメソッドにフィクスチャ設定コードを置き、失敗して致命的なエラー(ASSERT_XXXまたはFAILマクロ)が発生した場合、Googleテストではテスト本体が実行されません。だから、あなたが書かなければならないすべてはInitMyTestData()がfalseを返した場合、MyTestCase.Fooは実行されません

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

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

TEST_F(MyTestCase, Foo) { ... } 

です。設定コードに既に致命的ではないアサーションがある場合(EXPECT_XXXまたはADD_FAILURE)、ASSERT_FALSE(HasFailure());と書いて致命的なアサーションを生成できます。エラー検出の詳細については、Google Test Advanced Guide wikiページをご覧ください。

+0

これはまだ私のために渡されたすべてのテストを示しています。 – marsh

関連する問題