Qt单元测试工具 QTestlib

Qt单元测试工具 QTestlib优点 QTestLib 提供了单元测试框架的基本功能 并提供了针对 GUI 测试的扩展功能 特性详细描述轻量级 QTestlib 只包含 6000 行代码和 60 个导出符号 自包含对于非 GUI 测试 QTestlib 只需要 Qt 核心库的几个符号 快速测试

特性 详细描述
轻量级 QTestlib 只包含 6000行代码和 60个导出符号。
自包含 对于非GUI测 试,QTestlib只需要Qt核心库的几 个符号。
快速测试 QTestlib不需要特殊的测试执行程序,不需要为测试而进行特殊的注册。
数据驱动测试 一个测试程序可以在不同的测试数据集上执行多次。
基本的GUI测 试 QTestlib提供了模拟鼠标和键盘事件的功能。
IDE友好 QTestlib的输出信息可以被Visual Studio和KDevelop解析。
线程安全 错误报告是线程安全的、原子性的。
类型安全 对模板进行了扩展使用,防止由隐式类型转换引起的错误。
易扩展 用户自定义类型可以容易地加入到测试数据和测试输出中。

使用的相关宏:

QVERIFY(condition) //condition为真,则程序继续运行,否则测试失败,程序终止运行 QVERIFY2(statement, description) //statement为佳,输出description
initTestCase() //在第一个测试函数运行前调用 cleanupTestCase() //在终于第一个测试函数运行后调用 init() //在每个测试函数运行前被调用 cleanup() //在每个测试函数运行后调用

初始化测试数据一般先有测试函数_data()进行初始化数据

 > void QTest::addColumn(const char *name, T *dummy = 0) > QTestData &QTest::newRow(const char *dataTag) //建立要测试的数据列 QTest::addColumn<QString>("aString"); QTest::addColumn<int>("expected"); //添加数据行 QTest::newRow("positive value") << "42" << 42; QTest::newRow("negative value") << "-42" << -42; QTest::newRow("zero") << "0" << 0;

而后在测试函数(槽)中使用

//测试数据获取 > QFETCH(type, name) QFETCH(QString, aString); QFETCH(int, expected); 
//测试数据比较 > QCOMPARE(actual, expected); //actual, expected值相等,就继续执行 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216830.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:57
下一篇 2026年3月18日 上午10:58


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号