Executing your tests

We wrote a test case, TestJsonSerializer, with some test functions. We need a main() function in our drum-machine-test application. We will explore three possibilities:

  • The QTEST_MAIN() function
  • Writing our own simple main() function
  • Writing our own enhanced main() function that supports multiple test classes

The QTest module provides an interesting macro, QTEST_MAIN(). This macro generates a complete main() function for your application. This generated method runs all the test functions of your test case. To use it, add the following snippet at the end of the TestJsonSerializer.cpp file:

QTEST_MAIN(TestJsonSerializer) 

Moreover, if you declare and implement your test class only in the .cpp file (without a header file), ...

Get Mastering Qt 5 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.