之前的文章介绍了如何使用QTest进行单元测试,其实QT的测试框架功能不仅于此,我们还可以通过QTest实现一些更加复杂的测试,这里就介绍一下如何通过QTest实现数据集测试、性能测试、GUI测试。
数据集测试
对于很多算法模块和业务逻辑模块,测试用例的逻辑是相同的,区别只是输入的数据不同。为了重复利用逻辑模块,避免大量的冗余测试代码,我们可以采用QTest提供的数据集模块来对对应的程序进行测试。一个数据集是一个二维的数据表,表的每一行都是一个测试,表中包含了测试的名称、测试的输入数据、以及预期的输出结果等。测试表结构如下所示:
index | name | number1 | number2 | result |
---|---|---|---|---|
0 | two_positive | 655 | 655 | 1310 |
1 | two_negative | -60 | -60 | -120 |
2 | zero_negative | 0 | -60 | -60 |
3 | zero_positive | 0 | 80 | 80 |
4 | zero_zero | 0 | 0 | 0 |
5 | positive_negative | -60 | 80 | 20 |
在测试用例类中所有的private槽函数都会被视为测试用例,我们添加如下的测试用