如何使用 Google Test 向测试添加元数据 / 如何将数据从 Google Test 发送到 TestEven
How to add metadata to a test using Google Test / How to send data from a Google Test to a TestEventListener
让我解释一下。我目前正在为学校的编程作业设置一个自动评分器。我们正在将Gradescope用于自动分级基础设施。跳过详细信息,Gradescope期望在运行测试用例后,将使用其架构填充JSON文件。
现在,这就是我挣扎的地方。我决定设置它的最佳方法是使用 Gtest 事件侦听器。这将允许我在测试运行时获取有关测试的信息并开始创建 JSON。但是,要使Gradescope正常工作,我需要一些信息,而不是测试是否通过。例如,我需要知道该特定测试在作业上下文中的价值,或者它将在Gradescope上显示什么名称,等等。处理此问题的一种方法是将该元信息存储在 YAML 文件中,该文件将由我的侦听器读取。但是,我想远离它,因为它需要用户仔细设置 YAML 以使测试名称匹配,并且通常更容易被用户(即设置作业的教师(出错。
理想情况下,我想要一个将此元数据与测试一起保存的 API。我设想像GRADED_TEST(TestSuite, TestName, /*weight=*/10, /*name=*/"Gradescope Test!", ...)
这样的东西来取代GTest提供的TEST
/TEST_F
宏。但是,我发现这很难做到,因为没有简单的方法(据我所知(将信息从测试对象发送到测试事件侦听器。有什么想法吗?
谢谢!
(我不打算将此作为答案,但我还不能发表评论。
您能否为测试用例创建一个命名方案以包含此类信息?
例如:TEST(TestSuite, TestName_weight_10_name_GradescopeTest)
Google 测试的文档不鼓励在测试名称中使用下划线,但它工作正常。
- 如何使用 Google Test 向测试添加元数据 / 如何将数据从 Google Test 发送到 TestEven
- Google Test for OpenCv c++
- 使用 Google Test 对自定义断言函数进行单元测试
- 如何在 google test in windows 中管理断言
- google test PrintTo for std::set<std::string>
- Xcode Test Navigator 如何在纯C++项目中显示 Google 测试
- 如何期望通过使用Google Test(Mock)以特定频率调用函数
- 无法将 Google Test NuGet 包添加到 Visual Studio Linux C++ 项目中
- Google Test:错误 LNK2019:使用 Visual Studio 2017 与 CMake 进行未解析的外
- C ++ Google test (gtest):如何创建自定义断言和期望?
- 如何使用Visual Studio Code来调试使用Google Test测试的应用程序?
- Cmake为什么找不到GTEST(Google Test)
- 使用Google Test API进行C 测试私人方法的可能方法是什么?
- 我如何配置我的cmake文件以与Google Test和CTEST一起使用
- Google Test with CLion 未运行测试
- google-test and static constexpr member
- 使用Google Test测试文件输出
- 使用Google Test调试c++项目时禁用异常处理
- 如何使用google test在单元测试中模拟不同的时区
- 在Google test参数化测试用例(' TEST_P ')中访问测试信息