Google Test 1.6 (Windows 7、Visual Studio C++) を使用しています。特定のテストをオフにするにはどうすればよいでしょうか? (つまり、テストが実行されないようにするにはどうすればよいでしょうか)。テスト全体をコメント アウトする以外に何かできることはありますか?
ベストアンサー1
すぐに修正できない壊れたテストがある場合は、その名前にプレフィックスを追加できます。これにより、そのテストは実行から除外されます。無効なテストは引き続きコンパイルされるため (したがって、腐敗しないため)、
DISABLED_
コードをコメント アウトしたり を使用するよりも、この方法の方が優れています。#if 0
上記のドキュメントからの例:
// Tests that Foo does Abc. TEST(FooTest, DISABLED_DoesAbc) { ... } class DISABLED_BarTest : public testing::Test { ... }; // Tests that Bar does Xyz. TEST_F(DISABLED_BarTest, DoesXyz) { ... }
GTEST_SKIP()
Google Test のより新しいバージョン (現在のバージョンは v1.12.1) にアクセスできる場合は、コメントで jslmsca が提案したマクロと、別の回答で Peter Bloomfield が提案したマクロを確認してください。advanced.md のサンプルから:
TEST(SkipTest, DoesSkip) { GTEST_SKIP() << "Skipping single test"; EXPECT_EQ(0, 1); // Won't fail; it won't be executed } class SkipFixture : public ::testing::Test { protected: void SetUp() override { GTEST_SKIP() << "Skipping all tests for this fixture"; } }; // Tests for SkipFixture won't be executed. TEST_F(SkipFixture, SkipsOneTest) { EXPECT_EQ(5, 7); // Won't fail }