めも

メモ.

GoogleTestで特定のテストだけを実行する

実現したいこと

各テストに名前がつけられている中で、特定の名前のテストだけを実行したい.

TestAAA
 |--Test_GetXXXTest
 |--Test_SetXXXTest
 |--Test_GetYYYTest
  ...

方法

GoogleTestのadvanced.md内, SelectingTestの章を参照する. フィルタの指定方法も記載されている.

  • gtest_filter=*XXX*:*YYY*: 「XXX」か「YYY」が名前に含まれるものを実行
  • gtest_filter=-*XXX*: 「XXX」が名前に含まれないものを実行

以下は[XXX]が含まれるテストのみを実行する場合を示す.

コマンドラインから実行時に指定

--gtest_filter=*XXX*をオプションに指定

コードにて指定

RUN_ALL_TEST()を実行する前にフィルタを記述.

::testing::GTEST_FLAG(filter) = "*XXX*";

環境変数にて指定

export GTEST_FILTER = "*XXX*"

参考文献

googletest/advanced.md at master · google/googletest · GitHub