OpenCV学习 day8 调试与测试

第十章

10.1 Qt Creator调试

在项目中如果要在调试中启动程序,可以使用下列方法:

        按下F5键、使用“Start Debugging”按钮、主菜单选项卡

进入调试模式后还允许以下操作:

        在代码中添加、启用、禁用以及查看断点

        中断正在运行的程序和进程来查看和检查代码

        查看和检查函数的调用堆栈

        查看和检查变量

        反汇编源代码

在代码中设置了断点之后,无论何时程序到达代码中的该行,程序都将中断。此时可以使用代码编辑器下的空间控件来执行下列任务:

        Continue:继续执行该程序的剩下部分

        Step Over:用于在不进入可能会改变调试指针当前位置的函数调用的情况下,执行下一行代码

        Step Into:与Step up相反

        Step out:退出函数调用,返回调试时的节点

10.2 Qt测试框架

        单元测试是指对应用程序的控件和部分(单元)进行测试,以确保它们能够按预期进行工作。

10.2.1 创建单元测试 

        若要创建单元测试,可以子类化QObject类,并向其中加入Qt测试框架所需要的槽,以及一个或者多个用于执行各种测试的槽(测试函数)。除了测试函数以外,每个测试类中可以存在下面的槽(私有槽) ,并由Qt Test调用:

        initTestCase:在第一个测试函数之前调用,如果它失败了,整个测试失败

        cleanupTestCase:在最后一个测试函数之后调用

        init:在调用每个测试函数之前调用,如果失败将不再执行前面的测试函数

        cleanup:在调用每个测试函数之后调用

        为了能够编写适当的测试函数,可以在每一个测试函数中使用下面的宏,这些宏是在Qt Test中定义的:

        QVERIFY:可用于检查是否满足一个条件

        QTRY_VERIFY_WITH_TIMEOUT:给定条件,要么达到指定超时,要么达到条件

        QTRY_VERIFY:类似上一个,超时默认为5秒

        QCOMPARE:用来比较实际值和期望值

        QCOMPARE_COMPARE_WITH_TIMEOUT:也类似前文

10.2.2 数据驱动测试
10.2.3基准测试 
10.2.4 GUI测试 

        可以使用QTest命名空间中的以下函数来编写用于执行GUI测试的单元测试。注意,几乎所有的这些函数都依赖于一个事实:Qt中所有控件和GUI组件都是QWidget的子类:

        keyClick:模拟按键                                        keyClicks:与keyClick类似

        keyPress:只模拟按下按键                            keyRelease:只模拟按键释放

        keyEvent:键盘模拟函数的高级版本              mouseClick:模拟单击鼠标

        mouseDClick:模拟双击鼠标                         mousePress:模拟按下鼠标不释放

        mouseRelease:只模拟释放                          mouseMove:模拟鼠标光标的移动

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值