使用Qtcreator 自带的单元测试工具框架QTestlib进行测试。
一.创建一个单元测试程序
new project->other project ->Qt unit test
二.文件列表:
qtestlib/tutorial1/testqstring.cpp
qtestlib/tutorial1/tutorial1.pro
假设我们要测试QString类的行为。首先,需要一个用于包含测试函数的类。这个类必须从QObject继承:
class TestQString: public QObject
{
Q_OBJECT
private slots:
void toUpper();
};
注意包含QTest头文件,并且测试函数必须声明为私有槽,这样测试框架才可以找到并执行他们。
然后需要实现测试函数。实现看起来类似这样:
QVERIFY()宏将计算传入的表达式的值。如果为真,则测试函数继续进行;否则会向测试日志中增加一条描述错误的信息,并且该测试函数会停止执行。
但是如果需要向测试日志中增加更多的输出信息,你应该使用QCOMPARE()宏:
void TestQString::toUpper()
{
QString str = “Hello”;
QVERIFY(str.toUpper() == “HELLO”);
}
如果两个字符串不相等,他们的值都会追加到测试日志中,这样失败的原因就一目了然了。

本文介绍了如何在Qt Creator中使用QTestlib进行单元测试,包括创建测试项目、编写测试用例以及如何利用gcov、lcov和genhtml工具获取代码覆盖率。虽然在macOS上遇到lcov安装问题,但通过复制lcov二进制文件仍能生成覆盖率报告。
最低0.47元/天 解锁文章
4564

被折叠的 条评论
为什么被折叠?



