在谷歌测试中,测试执行期间可以将测试标记为跳过而不是失败

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

在谷歌测试中,如果断言失败,是否有一种方法可以将测试标记为已跳过?

例如

ASSERT_TRUE(1 != 1)

所以如果上面的语句失败了,我可以在 gtest 中添加一些东西来将测试标记为跳过而不是失败吗?

automated-tests googletest
2个回答
13
投票

据我所知。可能是有充分理由的,因为只有在遇到失败时才“跳过”测试看起来有点作弊!如果您知道测试在运行之前会失败,那么您可以通过在测试名称前加上DISABLED_

暂时禁用它

这似乎是一个更好的选择,因为测试代码仍然会被编译,但套件的整体结果不受影响,因为测试没有运行。输出会提醒您有多少已禁用的测试,如果需要,您始终可以使用

--gtest_also_run_disabled_tests
arg 强制运行已禁用的测试。

顺便说一句,gtest 提供了显式导致测试失败的方法,而不是做

ASSERT_TRUE(1 != 1)
.


0
投票

GTEST_SKIP
可用于在执行期间标记测试。

例如:

TEST(SkipTest, DoesSkip) {
  GTEST_SKIP() << "Skipping single test";
  EXPECT_EQ(0, 1);  // Won't fail; it won't be executed
}
© www.soinside.com 2019 - 2024. All rights reserved.