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 - Write our own simple
main()
function - Write our own enhanced
main()
supporting 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), you need to include the generated moc file after the QTEST_MAIN
macro:
QTEST_MAIN(TestJsonSerializer) #include "testjsonserializer"
If you use the QTEST_MAIN()
macro, do not forget to remove the existing main.cpp...