- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
16.1 QTestLib框架 16.2 简单的Qt单元测试 16.3 数据驱动测试 16.4 GUI测试 16.5 简单性能测试 Trolltech公司提供的QTestlib框架,是一种针对基于Qt编写的程序或库的单元测试工具。QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能。QTestLib也提供了许多特性,如表16.1所示。 特 性 详 细 描 述 轻量级 QTestlib 只包含 6000行代码和 60个导出符号 自包含 对于非GUI测试,QTestlib只需要Qt核心库的几个符号 快速测试 QTestlib不需要特殊的测试执行程序,不需要为测试而进行特殊的注册 数据驱动测试 一个测试程序可以在不同的测试数据集上执行多次 基本的GUI测 试 QTestlib提供了模拟鼠标和键盘事件的功能 IDE友好 QTestlib的输出信息可以被Visual Studio和KDevelop解析 线程安全 错误报告是线程安全的、原子性的 类型安全 对模板进行了扩展使用,防止由隐式类型转换引起的错误 易扩展 用户自定义类型可以容易地加入到测试数据和测试输出中 (1) 计算圆面积类的具体实现步骤如下。 被测类所在的头文件area.h的具体代码。 (2) 测试代码所在的源文件main.cpp的具体内容。 (3) 打开AreaTest.pro,添加如下代码: HEADERS += area.h SOURCES += main.cpp ? CONFIG += 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.h SOURCES += main.cpp ? CONFIG += qtestlib (4) 测试结果如图16.3所示。 16.4.1 仿真GUI事件 通过模拟键盘上的字符键来输入QLineEdit的值,测试QLineEdit是否能正确显示输入相应的字符串。 具体实现步骤如下: (1) 建立一个空的工程TestGUI1,添加源文件TestGUI1.cpp,其具体实现代码。 (2) 在文件TestGui1.pro中添加的代码如下: TEMPLATE = app CONFIG += qtestlib TARGET = DEPENDPATH += . INCLUDEPATH += . ? (3) 测试结果如图16.4所示。 下面还是使用上一节的QLineEdit测试,但添加了不同的按键测试。 (1) 建立一个空工程TestGui,添加源文件TestGui.cpp,其具体实现代码。 (2) 打开TestGui.pro文件,添加如下代码: TEMPLATE = app CONFIG += qtestlib TARGET = DEPENDPATH += . INCLUDEPATH += . (3) 测试结果如图16.5所示。 (1) 建立一个空的工程TestQString2,添加源文件TestQString2.cpp,其具体实现代码如下: #include QtTest/QtTest class TestQString2:public QObject { Q_OBJECT private slots: void testBenchmark(); }; void TestQString2::testBenchmark() { QString str(heLLO); // 要用来测试性能的代码 QBENCHMARK { str.toLower(); } } // 生成能够独立运行的测试代码 QTEST_MAIN(TestQString2) #include TestQString2.moc (2) 打开TestQString2.pro文件,添加的代码如下: QT += testlib (3) 测试结果如图16.6所示。
您可能关注的文档
最近下载
- 老年髋部骨折患者围术期下肢深静脉血栓基础预防专家共识(2024版).pdf VIP
- 华为ICT大赛云赛道认证考试复习题库(含答案).pdf VIP
- 北师大版六年级数学上册期中期末试题及答案.pdf VIP
- 2021-2022年中国ESG行业研究报告.pptx
- 第一单元峥嵘岁月 第1课情感表达 教学设计 人教版初中美术七年级上册.pdf
- 2024年秋新人教版地理七年级上册课件 4.1 多变的天气.pptx
- 人教版九年级全册英语Unit 14大单元整体教学设计.docx
- 大单元教学中的项目化学习——以五年级上册民间故事单元为例.docx
- 全员专项学习培训试题题库单选、多选试题附答案.doc VIP
- 22G101-3 混凝土结构施工图平面整体表示方法制图规则和构造详图(独立基础、条形基础、筏形基础、桩基础).docx
文档评论(0)