《第16章 Qt单元测试框架.ppt》由会员分享,可在线阅读,更多相关《第16章 Qt单元测试框架.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、16.1 QTestLib框架16.2简单的Qt单元测试16.3 数据驱动测试16.4GUI测试16.5简单性能测试Trolltech公司提供的QTestlib框架,是一种针对基于Qt编写的程序或库的单元测试工具。QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能。QTestLib也提供了许多特性,如表16.1所示。特 性详 细 描 述轻量级QTestlib 只包含 6000行代码和 60个导出符号自包含对于非GUI测试,QTestlib只需要Qt核心库的几个符号快速测试QTestlib不需要特殊的测试执行程序,不需要为测试而进行特殊的注册数据驱动测试一个测试程序可
2、以在不同的测试数据集上执行多次基本的GUI测 试QTestlib提供了模拟鼠标和键盘事件的功能IDE友好QTestlib的输出信息可以被Visual Studio和KDevelop解析线程安全错误报告是线程安全的、原子性的类型安全对模板进行了扩展使用,防止由隐式类型转换引起的错误易扩展用户自定义类型可以容易地加入到测试数据和测试输出中(1)计算圆面积类的具体实现步骤如下。被测类所在的头文件area.h的具体代码。(2)测试代码所在的源文件main.cpp的具体内容。(3)打开AreaTest.pro,添加如下代码:HEADERS+=area.hSOURCES+=main.cppCONFIG+=
3、qtestlib测试函数运行结果如图16.1所示。例1:测试字符串转换为全小写字符的功能。(1)建立一个空工程TestQString,添加源文件TestQString.cpp,其具体代码。(2)在文件TestQString.pro中添加的内容如下:QT+=testlib(3)测试结果如图16.2所示。例2:测试计算圆面积的功能。(1)建立一个空工程AreaTest2,添加头文件Area.h,在该头文件中完成测试类的定义,其具体代码。(2)在源文件main.cpp中完成测试工作,其具体实现代码。(3)打开AreaTest.pro,添加如下代码:HEADERS+=area.hSOURCES+=ma
4、in.cppCONFIG+=qtestlib(4)测试结果如图16.3所示。16.4.1 仿真仿真GUI事件事件 通过模拟键盘上的字符键来输入QLineEdit的值,测试QLineEdit是否能正确显示输入相应的字符串。具体实现步骤如下:(1)建立一个空的工程TestGUI1,添加源文件TestGUI1.cpp,其具体实现代码。(2)在文件TestGui1.pro中添加的代码如下:TEMPLATE=appCONFIG+=qtestlibTARGET=DEPENDPATH+=.INCLUDEPATH+=.(3)测试结果如图16.4所示。下面还是使用上一节的QLineEdit测试,但添加了不同的按
5、键测试。(1)建立一个空工程TestGui,添加源文件TestGui.cpp,其具体实现代码。(2)打开TestGui.pro文件,添加如下代码:TEMPLATE=appCONFIG+=qtestlibTARGET=DEPENDPATH+=.INCLUDEPATH+=.(3)测试结果如图16.5所示。(1)建立一个空的工程TestQString2,添加源文件TestQString2.cpp,其具体实现代码如下:#includeclassTestQString2:publicQObjectQ_OBJECTprivateslots:voidtestBenchmark();voidTestQString2:testBenchmark()QStringstr(heLLO);/要用来测试性能的代码QBENCHMARKstr.toLower();/生成能够独立运行的测试代码QTEST_MAIN(TestQString2)#includeTestQString2.moc(2)打开TestQString2.pro文件,添加的代码如下:QT+=testlib(3)测试结果如图16.6所示。