QTestlib 学习 第二天 简单的函数功能测试

上一篇 / 下一篇  2012-03-02 19:04:32 / 个人分类:QT测试

  

假设定义了一个简单的类,实现int型的相加和String型的相加,首先我们先编写一个函数实现这个功能,代码如下:
示例二:
mainwindow.h

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QString>

class MainWindow

{

public:

  explicit MainWindow();

  ~MainWindow();

  static int sumab(int a, int b);

  static QString sumab(QString a, QString b);

};

#endif // MAINWINDOW_H

mainwindow.cpp
#include "mainwindow.h"

MainWindow::MainWindow()

{}

MainWindow::~MainWindow()

{}

int MainWindow::sumab(int a, int b){

  return a+b;

}

QString MainWindow::sumab(QString a, QString b){

  return a+b;

}



测试文件的编写
我们的工程用qmake管理(以后同),testmainwindow.cpp的写法为:
testmainwindow.cpp
#include <QtCore/QString>

#include <QtTest/QtTest>

#include mainwindow.h

class TestProjetcATest : public QObject

{

  Q_OBJECT 

public:

  TestProjetcATest(); 

private Q_SLOTS:

  //每个私有的private slot函数都是会自动调用的测试函数

  void testCase1();

}

TestProjetcATest::TestProjetcATest()

{

}

void TestProjetcATest::testCase1()

{

  QString result = "abcd";

  QCOMPARE(MainWindow::sumab(2,3),5);

  QCOMPARE(MainWindow::sumab("ab","cd"),result);

}

//用于构建可执行的测试程序

QTEST_APPLESS_MAIN(TestProjetcATest)

#include "tst_testprojetcatest.moc"

这里要注意的是源文件的位置问题,在测试程序的头文件处,我们添加的形式是:#include mainwindow.h这是因为我将测试的类和测试程序放在同一个项目里面,如果我们的测试项目和被测项目不在同一个项目里面,那么我们需要将被测的项目添加到测试项目里面,那在导入头文件的时候,就应该是#include ../路径/mainwindow.h

示例二结果:


TAG:

 

评分:0

我来说两句

Open Toolbar