Google测试:我可以查询测试夹具的名称吗?

时间:2016-06-30 17:51:15

标签: xml unit-testing googletest

我想使用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文件。由于各种原因,我无法使用谷歌测试已经提供的默认XML输出格式。但是,在google test的默认XML输出中,我们得到了测试夹具类和测试对象的名称,所以希望我们可以通过自定义来实现...这可能吗?

1 个答案:

答案 0 :(得分:18)

您可以使用TestInfo类获取测试名称:

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

您可以找到更多详情here