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:

 

评分:0

我来说两句

Open Toolbar