Qt Test also provides a very easy-to-use semantic to benchmark the execution speed of your code. To see it in action, we will benchmark the time it takes to save Track in the JSON format. The duration of the serialization depends of the track length (the number of SoundEvents).
Of course, it is more interesting to benchmark this feature with different track lengths and see whether the time saved is linear. Datasets come to the rescue! It is not only useful to run the same function with expected input and output, but also to run the same function with different parameters.
We will start by creating the dataset function in TestJsonSerializer:
class TestJsonSerializer : public QObject { ... private slots: void cleanup(); void saveDummy(); void loadDummy(); void saveTrack_data(); ... }; void TestJsonSerializer::saveTrack_data...