0

モジュールで gtest を使用して単体テストを構築したいと考えています。各モジュールは、多くの場合、複数のテスト可能なユニットのコレクションです。モジュールの開発中に、一度に単体テストを作成し、終了したら、それらをモジュール全体の 1 つの単体テストに連結します。

したがって、いくつかの例では、各テストは次のようになります。

// file test1.cc
TEST1()
{
}
TESTn
{
)
#ifdef ISOLATED_TEST_COMPILE
int main()
{
   /* google test boiler plate */
}
#endif

そして、テストを連結するファイルは次のようになります

#include "test1.cc"
#include "testn.cc"

int main()
{
   /* google test boiler plate */
}

そのため、生成された make ビルドを取得して、名前が付けられた場合にのみ個々のテストをビルドし、個々のテストを「すべて」のターゲットに含めないようにしたいと考えています。モジュール単体テスト ビルド全体が all ターゲットにある必要があります。

make all単一のテストを冗長にコンパイルしたくありません。

4

1 に答える 1

0

単体テストが本番環境にない場合は、上記と同じ方法で#ifdefを使用するのが手っ取り早いでしょう。

次に、ifdefの定義をそのようにラップするだけです。

#ifdef ALL
  ...
#else
  #define UNIT1
  ....
#end if
于 2011-06-02T17:18:15.467 に答える