2016-08-19 2 views
0

Ich habe eine Testsuite in QTestLib geschrieben. Das ist Vermächtnis. Die QTest Tests werden von einer main Methode aufgerufen, die wie eine reguläre gtest Suite initialisiert wird.kann ich den gtest_filter von einem Nicht-Gtest-Test überprüfen?

Auf dem CI-Server rufen wir regelmäßig gtests mit einem ‚zeitsensiblen Ausgrenzung‘ Filter wie

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

Nun möchte ich einige dieser Zeit empfindliche Tests ausprobieren Deaktivierung von ‚hören‘ zum gtest_filter. Also die Frage: Kann ich etwas Ähnliches verwenden?

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

Antwort

0

Eigentlich löste das Problem, indem sie lediglich die qtests in gtests Verpackung:

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

Der Test main eine QApplication zu instanziiert hat und exec es, natürlich.

Verwandte Themen