QTestlib学习 第一天
上一篇 /
下一篇 2012-03-02 19:02:45
/ 个人分类:QT测试
一、QTestlib
QTestlib是用来对基于Qt的应用程序和库进行单元测试的框架。QTestlib既可以进行数据驱动测试,也可以进行GUI测试。QTestlib的所有的公共方法和类型都在QTest命名空间(附录一)。
创建一个测试的步骤是,继承QObject类并添加私有的槽。每一个私有的槽是一个测试函数。然后使用QTest::qExec()来执行测试对象中的所有测试函数。
在测试类中,有4个私有槽有特定的用处,它们不是测试函数,如下:
✪ initTestCase():在第一个测试函数运行前调用;
✪ cleanupTestCase():在最后一个测试函数运行完毕后调用;
✪ init():在每个测试函数运行前调用;
✪ cleanup():在每个测试函数运行后调用。
如果initTestCase()运行失败,将没有测试函数运行。如果init()失败,紧随其后的测试函数将不会被执行,将直接运行下一个测试函数。
对于管理工程的方法有两种:一种是qmake,另一种是cmake。在这里我们只讲解第一种qmake的使用方法。
为了使用QTestlib,必须在qmake中的.pro文件中加入:
QT += testlib
在源文件中加入:
#include <QTest>
示例一:
class Test1Test : public QObject
{
Q_OBJECT
private slots:
void initTestCase()
{
qDebug("called before everything else");
}
void testCase1()
{
QVERIFY(1 == 1);
}
void testCase2()
{
QVERIFY(1 != 2);
}
void cleanupTestCase()
{
qDebug("called after testCase1 and testCase2");
}
};
示例一结果:
附录一: QTest Namespace Reference
http://blog.chinaunix.net/link.php?url=http://doc.trolltech.com%2F4.4%2Fqtest.html
收藏
举报
TAG: