- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有三个测试:
TEST_F(lexer, no_data)
{
// some initial test
}
INSTANTIATE_TEST_CASE_P(parser, lexer, ::testing::Values(/*some list of values*/));
TEST_P(lexer, with_data)
{
// fixture's static member initialization.
// tests for each input value
}
TEST_F(lexer, no_more_data)
{
// final test
}
问题是,当我运行测试时,它首先运行 TEST_F
,然后运行 TEST_P
,但我需要先运行 TEST_F
,然后是每个输入的 TEST_P
,最后是最新的 TEST_F
。注意:在夹具中,我有一个静态成员,用于所有测试用例,但我需要在第一次运行 TEST_F
时取消初始化该成员。
最佳答案
简短的回答:你不能。而你不应该。
稍微长一点的回答:
让您的测试相互依赖(或它们的执行顺序)是一个非常糟糕的主意 - 出于这个原因,googletest(以及 visual studio 的 google 测试适配器)甚至提供了 的选项打乱你的测试用例执行顺序,所以在每次测试运行中你都会得到一个新的顺序,只是为了捕捉否则会被隐藏的错误,例如
测试用例 #2 包含函数 Foo()
,它应该(除其他事项外)将全局标志 Bar
设置为 true
。
您在测试结束时检查 Bar
的状态,该状态为 true
并且测试通过。
测试用例 #5 包含函数 Baz()
,它(除其他事项外)还应将全局标志 Bar
设置为 true
。但是,Baz()
有一个错误,不会这样做。您在测试结束时检查 Bar
的状态...这是 true
因为它已经在测试用例 #2 中设置,并且测试通过了 - 您 < strong>未能检测到错误。
确保您的每个测试用例都可以彼此独立运行。
关于c++ - gtest : run TEST_P inside 2 TEST_Fs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51788471/
这是一个将 google mocking 与 fixtures 一起使用的简单示例。我正在尝试在 Xcode 上设置和学习 google mock 并编写了以下代码 using ::testing::
我对 gtest/gmock 进行了很多研究,但没有一个给我正确的答案。我是 C++ 新手,所以任何帮助都将不胜感激。 最佳答案 所有文档都包含在 official github repo 中. pr
我不确定我是否正确设置了我的 gtest 环境。当我用 EXPECT_EQ 东西做简单的 TEST 时,一切都很好。然而,当我尝试像 TEST_F 这样更奇特的东西时,链接器会提示。 源代码: cla
我有三个测试: TEST_F(lexer, no_data) { // some initial test } INSTANTIATE_TEST_CASE_P(parser, lexer, :
我正在调试我在 CLion 中使用 C++ 编写的应用程序,并使用 Google Test 对其进行测试。这是我发现的计算机视觉论文的实现,我将 OpenCV 用于其 Mat 类和图像处理函数。 我的
好吧,我承认,这是个特例。当我们构建我们的应用程序时,我们正在使用 make,所以我将我的测试包含在 src 下的测试文件夹中。然后在与我们的发布文件夹相同的级别,我们创建了一个单元测试文件夹,其中包
我是一名优秀的程序员,十分优秀!