如何使用Google Test向测试中添加元数据/如何将数据从Google Test发送到TestEventListener

问题描述 投票:0回答:1

让我解释一下。我目前正在为我的学校设置用于编程作业的自动分级机。我们将Gradescope用于自动分级基础结构。跳过细节,Gradescope希望在运行测试用例后,将使用其架构填充JSON文件。

现在,这是我在努力的地方。我决定最好的设置方法是使用Gtest Event Listeners。这将允许我在测试运行时获取有关测试的信息,并开始创建JSON。但是,要使Gradescope正常工作,除了测试是否通过之外,我还需要一些其他信息。例如,我需要知道该特定测试在作业环境中的价值,或者它将在Gradescope上显示的名称,等等。解决此问题的一种方法是将该元信息存储在将由我的侦听器读取的YAML文件中。但是,我想避免这样做,因为它要求用户仔细设置YAML,以使测试名称匹配,并且一般来说,它更容易导致用户出错(即,教师设置作业)。] >

理想情况下,我想要一个将这些元数据与测试保持在一起的API。我在想像GRADED_TEST(TestSuite, TestName, /*weight=*/10, /*name=*/"Gradescope Test!", ...)这样的东西可以代替GTest提供的TEST / TEST_F宏。但是,我发现很难做到这一点,因为(据我所知)没有简单的方法可以将信息从Test对象发送到TestEventListener。有什么想法吗?

谢谢!

让我解释一下。我目前正在为我的学校设置用于编程作业的自动分级机。我们正在使用Gradescope作为自动分级基础结构。跳过细节,...

c++ googletest
1个回答
0
投票

((我不打算将其作为答案,但我无法发表评论。)

© www.soinside.com 2019 - 2024. All rights reserved.