2

クラス A、B、C があり、それぞれが gtest に独自の単体テストを持っているとしましょう。

A テストのみを実行するにはどうすればよいですか? 利用可能なすべての単体テストを実行するために、この main.cpp があります。

このページでは、クラス名の前に使用することを推奨していますDISABLED_が、テスト コードの多くの部分を変更する必要があります。

どのテストを実行するかどうかを制御するためのより良い方法があると思います。

#include <iostream>
#include <gtest/gtest.h>

int main(int argc,  char ** argv)
{
    std::cout << "Running main() from gtest_main.cc\n";

    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS(); // <-- return "RUN_XYZ_TEST()" ???
    
    return 0;
}
4

1 に答える 1

2

このプログラムをコンパイルすると、私が呼び出す実行可能ファイルが得られますprogram

ここで、 ( https://github.com/google/googletest/blob/master/docs/advanced.md#listing-test-names ) で呼び出すprogramと、実行可能なすべてのテストが取得されます。特定のものを実行したい場合 (あなたの例のようにテスト A)、アプリケーションを ( https://github.com/google/googletest/blob/master/docs/advanced.md#running-a-テストのサブセット):--gtest_list_tests

プログラム --gtest_filter=A

ワイルドカードも適用できることに注意してください。すべてのオプションのリストを取得するには、次を試してください。

プログラム --ヘルプ

于 2013-06-13T17:55:24.283 に答える