我有一个用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);
...
}发布于 2016-08-19 16:31:34
实际上仅仅通过将qtest封装到gtest中就解决了这个问题:
TEST(MyGtestWrapper, theQtest_TimeSensitive) {
MyTest test;
ASSERT_NE(QTEST_FAILED, QTest::exec(&test, 0, 0));
}当然,测试main必须实例化QApplication并对其执行exec操作。
https://stackoverflow.com/questions/39032462
复制相似问题