Date post: | 27-Dec-2015 |
Category: |
Documents |
Upload: | augusta-peters |
View: | 213 times |
Download: | 0 times |
CTK HackfestTesting frameworkNovember 2011
Inria – Sofia Antipolis
MITK
• Custom testing framework• int mitkMyTest(int , char* []) { MITK_TEST_BEGIN(“MyTest");
int value = 10; MITK_TEST_CONDITION_REQUIRED( value < 100, “My Test Message"); MITK_INFO << value;
MITK_TEST_END();}
GIMIAS
• TestSuite– CppUnit
• (JUnit for C++)• optionally using old QtTestRunner
– CxxTest• JUnit and CppUnit like• lightweight
Qt Testing
• #include <QtTest/QtTest>class TestQString: public QObject { Q_OBJECTprivate slots: void toUpper() { QString str = "Hello"; QCOMPARE(str.toUpper(), QString("HELLO")); }};
• QTEST_MAIN(TestQString)#include "testqstring.moc"
MAF3
• Wrapper around QTest
Google tests
• // Tests factorial of negative numbers.TEST(FactorialTest, Negative) { // This test is named "Negative", // and belongs to the "FactorialTest“ // test case.EXPECT_EQ(1, Factorial(-5));EXPECT_EQ(1, Factorial(-1)); EXPECT_TRUE(Factorial(-10) > 0);}
• RUN_ALL_TESTS() in main().
Suggestion for CTK
• Use QtTest ?– Offers the same as in CxxTests, Google Tests
• Eventually add macros on top to register tests– What’s missing ?– Mix of MITK / MAF ?
• How about Python ?• How about GUI testing ?
• QtTest: http://doc.qt.nokia.com/stable/qtestlib-tutorial1.html