使用 Google Test 1.6(Windows 7、Visual Studio C++)。如何关闭给定的测试? (又名如何阻止测试运行)。除了注释掉整个测试之外,我还能做些什么吗?
The docs https://github.com/google/googletest/tree/master/docs适用于谷歌测试 1.7suggest https://github.com/google/googletest/blob/master/docs/advanced.md#temporarily-disabling-tests:
如果您有无法立即修复的损坏测试,您可以添加DISABLED_
其名称的前缀。这会将其排除在执行之外。这比注释掉代码或使用更好#if 0
,因为禁用的测试仍然被编译(因此不会腐烂)。
上述文档中的示例:
// Tests that Foo does Abc.
TEST(FooTest, DISABLED_DoesAbc) { ... }
class DISABLED_BarTest : public testing::Test { ... };
// Tests that Bar does Xyz.
TEST_F(DISABLED_BarTest, DoesXyz) { ... }
如果您可以访问更新版本的 Google Test(当前版本是 v1.12.1),请查看GTEST_SKIP()
jslmsca 在评论中和 Peter Bloomfield 在另一个答案中建议的宏。来自advanced.md中的示例:
TEST(SkipTest, DoesSkip) {
GTEST_SKIP() << "Skipping single test";
EXPECT_EQ(0, 1); // Won't fail; it won't be executed
}
class SkipFixture : public ::testing::Test {
protected:
void SetUp() override {
GTEST_SKIP() << "Skipping all tests for this fixture";
}
};
// Tests for SkipFixture won't be executed.
TEST_F(SkipFixture, SkipsOneTest) {
EXPECT_EQ(5, 7); // Won't fail
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)