Qt Testlib 基本功能就是测试class的功能函数。
这个class 必须继承自QObject。
包含Qt Testlib的头文件
#include <QtTest/QtTest>
classTestQString:public QObject
{
Q_OBJECT
private slots:
void toUpper();
};
使用Qt Creator 创建Qt 工程,并修改pro 文件
QT += testlib
添加 testlib 模块。
书写测试用例
void TestQString::toUpper(){QString str = "Hello";QCOMPARE(str.toUpper(), QString("HELLO"));}
非常简单的实现,测试TestQString中的toUpper实现结果。这里要注意测试用例必须定义成 private slots。
QCOMPARE 测试2个字符串内容是否相同,如果不同QCOMPARE会打印比较结果。
在Qt Testlib 中有很多类似的宏定义。
下面实现main 函数
QTEST_MAIN(TestQString) // 宏会扩展成main 函数,并运行class 对应的所有
#include "main.moc" // 包含moc 中的内省实现 main.moc 由main.cpp 源文件生成。
以上就是一个简单的Qt testlib 实现