Google テストでアサートをキャッチするにはどうすればいいですか? 質問する

Google テストでアサートをキャッチするにはどうすればいいですか? 質問する

Google テスト フレームワークを使用してユニット テストをプログラミングしています。ただし、一部のアサートが適切に配置され、有用であるかどうかを確認したいと考えています。Google テストでアサートをキャッチする方法はありますか?

テスト対象コードの例:

int factorial(int n){
    assert(n >= 0);
    //....
}

そしてテスト:

#include <gtest/gtest.h>
TEST(FactorialTest,assertNegative){
    EXPECT_ANY_THROW({
         factorial(-1);
    });
}

しかし、EXPECT_ANY_THROWアサートはキャッチされず、例外のみがキャッチされます。アサートをキャッチする解決策を探しています。

ベストアンサー1

GoogleテストはASSERT_DEATHEXPECT_DEATHおよびその他の関連マクロ

この質問とGoogleテスト、デステストとは何かそれぞれがお互いの回答です。重複していることになりますか、それとも違いますか? ;-)

おすすめ記事