QTest测试使用

QTest测试使用

1.安装gcov、lcov工具

sudo apt-get install gcov
sudo apt-get install lcov
//安装成功与否可以使用 * --version 查看版本号

2.修改Qt配置文件TICPSH_PENNY_ETH.pro

QT += core testlib  //加载QTest所需库

QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
QMAKE_CXXFLAGS += --coverage
LIBS += -lgcov //设置命令行参数

3.测试步骤(参考博客2)
1.新建测试类
注意测试类需继承QOBject,编写测试代码需要引入头文件
例:
commoditytest.h
测试函数需放在private slots权限下,否则测试函数无法启用
commoditytest.cpp
在这里插入图片描述

主函数
在这里插入图片描述
比较宏

QBENCHMARK                    计算运行时间,多次运行测量
QBENCHMARK_ONCE               计算运行时间,单次运行测量
QCOMPARE                      比较是否相等
QEXPECT_FAIL                将下一个QCOMPARE或QVERIFY标记为预期测试,如果预期测试没有通过,可以终止剩余当前单元测试【可设置测试终止或继续】
QFAIL                        强制抛出错误并打印信息
QFETCH                        创建临时变量,从当前数据表中读取数据
QFETCH_GLOBAL                创建全局变量,从全局数据表中读取数据,必须有initTestCase_data
QFINDTESTDATA                从路径获取测试数据
QSKIP                        停止测试,但不会将失败添加到失败日志
QTEST                        可替代QFETCH+QCOMPARE的便利写法,不需要QFETCH来生成变量
QTEST_MAIN                    创建一个main函数,并实例化应用程序对象和测试用例对象,QT_WIDGETS_LIB->QApplication(Qt+=widgets),QT_GUI_LIB->QGuiApplication(Qt+=gui),其他->QCoreApplication
QTEST_APPLESS_MAIN            与QTEST_MAIN相似但不实例化QApplication
QTEST_GUILESS_MAIN            与QTEST_MAIN相似只实例化QCoreApplication
QTRY_COMPARE_WITH_TIMEOUT    与QCOMPARE相似,但重复执行两个值的比较,直到两个值相等或者达到超时时间
QTRY_COMPARE                执行QTRY_COMPARE_WITH_TIMEOUT,并将超时时间设置为5秒
QVERIFY                        判断条件是否为true,如果为true则继续执行测试,否则记录失败日志并且不再执行单元测试
QVERIFY2                    与QVERIFY相似,但可以自定义失败日志
QTRY_VERIFY_WITH_TIMEOUT    与QVERIFY相似,但重复执行条件的判断,直到条件为true或者达到超时时间
QTRY_VERIFY                    执行QTRY_VERIFY_WITH_TIMEOUT,并将超时时间设置为5秒
QTRY_VERIFY2_WITH_TIMEOUT    与QVERIFY2相似,但但重复执行条件的判断,直到条件为true或者达到超时时间
QTRY_VERIFY2                执行QTRY_VERIFY2_WITH_TIMEOUT,并将超时时间设置为5秒
QVERIFY_EXCEPTION_THROWN    执行表达式,并判断语句抛出的异常是否与预期异常相等
QWARN                        主动添加警告日志(线程安全)

自带函数

initTestCase()
//在第一个测试函数运行前调用
cleanupTestCase()
//在终于第一个测试函数运行后调用
init()
//在每个测试函数运行前被调用
cleanup()
//在每个测试函数运行后调用

4.生成测试报告
在生成的工作目录下打开终端,执行以下命令:

lcov -c -d . -o 'test.info' -b .  //收集测试信息生成*.info文件
genhtml test.info   //将info文件生成html文件
firefox index.html  //查看生成的html文件

5.用例输入

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值