CTK Hackfest Testing framework

Preview:

DESCRIPTION

CTK Hackfest Testing framework. November 2011 Inria – Sofia Antipolis. MITK. Custom testing framework - PowerPoint PPT Presentation

Citation preview

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

Recommended