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

nir*_*wap 16 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));
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是,当调用SetUp()函数时,我想要在其中的代码来查询测试夹具类的名称(PerformanceTest),以及测试对象的名称(输入).

为什么我需要这样做?因为我想将测试夹具的结果写入xml文件.由于各种原因,我无法使用谷歌测试已经提供的默认XML输出格式.但是,在google test的默认XML输出中,我们得到了测试夹具类和测试对象的名称,所以希望我们可以通过自定义来实现...这可能吗?

Paw*_*wel 26

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

::testing::UnitTest::GetInstance()->current_test_info()->name()
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到更多细节

  • 更新。旁注 - 任何人都应该能够修复损坏的链接。 (4认同)