0

我有一个用QTestLib. 那是遗产。QTest测试是从main像常规 gtest 套件一样初始化的方法调用的。

在 CI 服务器上,我们使用“时间敏感排除”过滤器调用常规 gtest,例如

> testsuite.exe --gtest_filter=-*TimeSensitive*

现在我想尝试通过“听”来禁用其中一些对时间敏感的测试gtest_filter。所以问题是:我可以使用与此等效的东西吗?

MyTest::test_TimeSensitiveTestMethod() {
    if (!::testing::gtest_filter("MyTest_TimeSensitiveTestMethod")) return;
    EXPECT_EQ(1, 2);
    ...
}
4

1 回答 1

0

实际上仅通过将 qtests 包装到 gtests 中就解决了这个问题:

TEST(MyGtestWrapper, theQtest_TimeSensitive) {
    MyTest test;
    ASSERT_NE(QTEST_FAILED, QTest::exec(&test, 0, 0));
}

当然,测试main必须实例化 aQApplicationexec它。

于 2016-08-19T08:31:34.073 回答