Unit testing in Qt

Qt comes with a built-in unit testing module, which we can use by adding the testlib keyword to our project file (.pro):

QT += core gui testlib 

After that, add the following header to our source code:

#include <QtTest/QtTest> 

Then, we can start testing our code. We must declare our test functions as private slots. Other than that, the class must also inherit from the QOBject class. For example, I created two text functions called testString() and testGui(), like so:

private slots: 
   void testString(); 
   void testGui(); 

The function definitions look something like this:

void MainWindow::testString() { QString text = "Testing"; QVERIFY(text.toUpper() == "TESTING"); } void MainWindow::testGui() { QTest::keyClicks(ui->lineEdit, ...

Get Hands-On GUI Programming with C++ and Qt5 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.