web-dev-qa-db-ja.com

Googleテスト:テストフィクスチャの名前を照会できますか?

Google testを使用して、:: testing :: Testから派生し、主にコンストラクター、またはSetUpとTearDown()を使用して機能を追加するクラスを記述したいと思います。 SetUp/TearDownがこれまでの方法です。私の質問は:

次のような小さなテストフィクスチャがあるとします。

TEST_F (PerformanceTest, Inputs)
{
   EXPECT_EQ (0.0, performSaxpy(10, 4.0F, 3.0F, 2.0F));
   EXPECT_EQ (0.0, performSaxpy(1, 5.0F, 4.0F, 3.0F));
   EXPECT_EQ (0.0, performSaxpy(10, 12.0F, 2.0F, 1.0F));
}

私がやりたいことは、SetUp()関数が呼び出されたときに、テストフィクスチャクラスの名前(PerformanceTest)とテストオブジェクトの名前(入力)をクエリするためのコードをその内部に含めることです。

なぜこれを行う必要があるのですか?テストフィクスチャの結果をxmlファイルに書き込みたいからです。さまざまな理由で、Googleテストですでに提供されているデフォルトのXML出力形式を使用できません。ただし、GoogleテストのデフォルトのXML出力では、テストフィクスチャクラスとテストオブジェクトの名前を取得しているので、うまくいけばカスタムで実行できます...これは可能ですか?

19
nirvanaswap

TestInfoクラスを使用してテスト名を取得できます。

::testing::UnitTest::GetInstance()->current_test_info()->name()

詳細はこちら こちら

24
Pawel