书签 分享 收藏 举报 版权申诉 / 17
上传文档赚钱

类型Qt-5开发及实例-第16章-Qt-5单元测试框架课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:5101740
  • 上传时间:2023-02-11
  • 格式:PPTX
  • 页数:17
  • 大小:1.53MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Qt-5开发及实例-第16章-Qt-5单元测试框架课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Qt 开发 实例 16 单元测试 框架 课件
    资源描述:

    1、第第16章章 Qt 5单元测试框架单元测试框架QTestLib框架框架QTestLib框架框架Trolltech公司提供的QTestLib是一种针对基于Qt编写的程序或库的单元测试工具。QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能。QTestLib的特性,见表16.1。特 性详 细 描 述轻量级QTestLib 只包含 6000行代码和60个导出符号自包含对于非GUI测试,QTestLib只需要Qt核心库的几个符号快速测试QTestLib不需要特殊的测试执行程序,不需要为测试而进行特殊的注册数据驱动测试一个测试程序可以在不同的测试数据集上执行多次基本的GUI测

    2、试QTestLib提供了模拟鼠标和键盘事件的功能IDE友好QTestLib的输出信息可以被Visual Studio和KDevelop解析线程安全错误报告是线程安全的、原子性的类型安全对模板进行了扩展使用,以防止由隐式类型转换引起的错误易扩展用户自定义类型可以容易地加入测试数据和测试输出中第第16章章 Qt 5单元测试框架单元测试框架简单的简单的Qt单元测试单元测试简单的简单的Qt单元测试单元测试【例】【例】(简单)(CH1601)首先实现计算圆面积的类,然后编写代码检查该类是否完成了相应的功能。(1)建立Qt单元测试框架,步骤如下。选择“文件”“新建文件或项目”菜单项,出现如图16.1所示的

    3、对话框,选择“其他项目”“Qt单元测试”选项,单击“Choose.”按钮。简单的简单的Qt单元测试单元测试为测试项目命名,“名称”为“AreaTest”,连续单击“下一步”按钮,直至出现如图16.2所示的对话框,选择项目需要包含的模块。简单的简单的Qt单元测试单元测试单击“下一步”按钮,在如图16.3所示的对话框中设置将要创建的测试类的基本信息。其中,其中,“类名”命名为“TestArea”,“测试槽”(即待测试的函数)命名为“toAreaTest”,依次单击“下一步”按钮,直至单击“完成”按钮。简单的简单的Qt单元测试单元测试(2)计算圆面积类的具体实现步骤如下。在项目名上单击鼠标右键,选择

    4、“添加新文件.”选项,在如图16.4所示的“新建文件”对话框中,选择新建“C+Header File”,单击“Choose.”按钮,在弹出的对话框中填写文件的“名称”为“area”。简单的简单的Qt单元测试单元测试头文件“area.h”的具体代码如下:#include class Area:public QObject Q_OBJECTpublic:Area()Area()Area(const Area&area)m_r=area.m_r;Area(int r)m_r=r;double CountArea()return 3.14*m_r*m_r;private:double m_r;简单的简

    5、单的Qt单元测试单元测试(3)测试代码所在的源文件“tst_testarea.cpp”的具体内容如下:#include#include#include area.hclass TestArea:public QObject Q_OBJECTpublic:TestArea();private Q_SLOTS:void toAreaTest();/(a);TestArea:TestArea()void TestArea:toAreaTest()Area area(1);QVERIFY(qAbs(area.CountArea()-3.14)0.0000001);/(b)QVERIFY2(true,F

    6、ailure);QTEST_APPLESS_MAIN(TestArea)/(c)#include tst_testarea.moc“简单的简单的Qt单元测试单元测试其中,其中,(a)toAreaTest()函数是测试函数,初始化对象的半径为1。(b)QVERIFY(qAbs(area.CountArea()-3.14)0.0000001):使用QVERIFY()宏判断半径为1的面积是否为3.14。由于浮点数不能直接比较,所以取值为给定值和实际值的绝对值,只要这两者之差小于0.0000001,就认为结果是正确的。QVERIFY()宏用于检查表达式是否为真,如果表达式为真,则程序继续运行;否则测试

    7、失败,程序运行终止。如果需要在测试失败的时候输出信息,则使用QVERIFY2()宏,用法如下:QVERIFY2(condition,message);QVERIFY2()宏在“condition”条件验证失败时,输出信息“message”。(c)QTEST_APPLESS_MAIN(TestArea):QTEST_APPLESS_MAIN()宏实现main()函数,并初始化QApplication对象和测试类,按照测试函数的运行顺序执行所有的测试。简单Qt单元测试输出结果如图16.5所示。第第16章章 Qt 5单元测试框架单元测试框架数据驱动测试数据驱动测试数据驱动测试数据驱动测试【例】【例】

    8、(简单)(CH1602)测试字符串转换为全小写字符的功能。(1)建立单元测试框架(操作方法同前),具体设置如下。项目名称:TestQString。测试类名:TestQString。测试槽:testToLower。生成源文件:tst_testqstring.cpp。(2)源文件“tst_testqstring.cpp”的具体代码。其中,其中,(a)void testToLower():每个private slot都是一个被QTest:qExec()自动调用的测试函数。(b)void testToLower_data():用于提供测试数据。初始化数据的函数名和测试函数名一样,但增加了后缀“_dat

    9、a()”。(c)QCOMPARE(string.toLower(),result):QCOMPARE(actual,expected)宏使用“等号”操作符比较实际值(actual)和期望值(expected)。如果两个值相等,则程序继续执行;如果两个值不相等,则产生一个错误,且程序不再继续执行。数据驱动测试数据驱动测试(3)测试结果如图16.6所示。数据驱动测试数据驱动测试【例】【例】(简单)(CH1603)测试计算圆面积的功能。(1)建立单元测试框架(操作方法同前),具体设置如下。项目名称:AreaTest2。测试类名:TestArea。测试槽:toArea。生成源文件:tst_testar

    10、ea.cpp。(2)新建C+头文件“area.h”,其具体代码。其中,其中,(a)Q_DECLARE_METATYPE(Area):该宏将Area定义为元类型,这样所有基于模板的函数都可以使用Area。而QTest中用到了模板函数addColumn(),因此必须使用Q_DECLARE_ METATYPE()宏使模板函数可以识别Area类。数据驱动测试数据驱动测试(3)在源文件“tst_testarea.cpp”中完成测试工作,其具体实现代码。其中,其中,(a)QFETCH(Area,area):通过QFETCH()宏获取所有数据。(b)QVERIFY(qAbs(area.CountArea()

    11、-r)0.0000001):QVERIFY()宏将根据数据的多少决定函数运行多少次。(c)QTest:addColumn(area):此处建立了两列数据,area列为Area对象。(d)QTest:addColumn(r):r列是相应的Area对象中计算圆面积半径的期望值。(e)QTest:newRow(1)Area(1)3.14:测试数据通过QTest:newRow()函数加入。(4)测试结果如图16.7所示。第第16章章 Qt 5单元测试框架单元测试框架简单性能测试简单性能测试简单性能测试简单性能测试【例】【例】(简单)(CH1604)编写性能测试代码。(1)建立单元测试框架(操作方法同前),具体设置如下。项目名称:TestQString2。测试类名:TestQString2。测试槽:testBenchmark。生成源文件:tst_testqstring2.cpp。(2)源文件“tst_testqstring2.cpp”的具体代码。(3)测试结果如图16.8所示。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Qt-5开发及实例-第16章-Qt-5单元测试框架课件.pptx
    链接地址:https://www.163wenku.com/p-5101740.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库