我有一个用QTestLib
编写的测试套件。这是遗产。 QTest
测试是从初始化的main
方法调用的,就像普通的gtest套件一样。
在CI服务器上,我们使用“时间敏感排除”过滤器调用常规gtests,如
> testsuite.exe --gtest_filter=-*TimeSensitive*
现在我想尝试通过'监听'gtest_filter
来禁用其中一些时间敏感的测试。所以问题是:我可以使用与此相当的东西吗?
MyTest::test_TimeSensitiveTestMethod() {
if (!::testing::gtest_filter("MyTest_TimeSensitiveTestMethod")) return;
EXPECT_EQ(1, 2);
...
}
答案 0 :(得分:0)
实际上只是将qtests包装成gtests来解决问题:
TEST(MyGtestWrapper, theQtest_TimeSensitive) {
MyTest test;
ASSERT_NE(QTEST_FAILED, QTest::exec(&test, 0, 0));
}
当然,测试main
必须实例化QApplication
和exec
。