//! [0] class MyFirstTest: public QObject { Q_OBJECT private slots: void initTestCase() { qDebug("called before everything else"); } void myFirstTest() { QVERIFY(1 == 1); } void mySecondTest() { QVERIFY(1 != 2); } void cleanupTestCase() { qDebug("called after myFirstTest and mySecondTest"); } }; //! [0] //! [1] QT += testlib //! [1] //! [2] testname [options] [testfunctions[:testdata]]... //! [2] //! [3] /myTestDirectory$ testQString toUpper //! [3] //! [4] /myTestDirectory$ testQString toUpper toInt:zero //! [4] //! [5] /myTestDirectory$ testMyWidget -vs -eventdelay 500 //! [5] //! [6] cetest [options] ... //! [6] //! [7] set INCLUDE=C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Activesync\Inc;%INCLUDE% set LIB=C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Activesync\Lib;%LIB% //! [7] //! [8] void TestQString::toUpper() { QString str = "Hello"; QVERIFY(str.toUpper() == "HELLO"); } //! [8] //! [9] /myTestDirectory$ qmake -project "CONFIG += qtestlib" /myTestDirectory$ qmake /myTestDirectory$ make //! [9] //! [10] ********* Start testing of TestQString ********* Config: Using QTest library %VERSION%, Qt %VERSION% PASS : TestQString::initTestCase() PASS : TestQString::toUpper() PASS : TestQString::cleanupTestCase() Totals: 3 passed, 0 failed, 0 skipped ********* Finished testing of TestQString ********* //! [10] //! [11] QCOMPARE(QString("hello").toUpper(), QString("HELLO")); QCOMPARE(QString("Hello").toUpper(), QString("HELLO")); QCOMPARE(QString("HellO").toUpper(), QString("HELLO")); QCOMPARE(QString("HELLO").toUpper(), QString("HELLO")); //! [11] //! [12] class MyFirstBenchmark: public QObject { Q_OBJECT private slots: void myFirstBenchmark() { QString string1; QString string2; QBENCHMARK { string1.localeAwareCompare(string2); } } }; //! [12]