您的位置:首页 > 编程语言 > Qt开发

【Qt5开发及实例】35、实现单元测试

2015-03-15 20:19 387 查看

area.h

/**
* 书本:【Qt5开发及实例】
* 功能:实现单元测试
* 文件:area.h
* 时间:2015年2月24日20:59:03
* 作者:cutter_point
*/

#ifndef AREA_H
#define AREA_H

#include <QObject>

class Area : public QObject
{
  Q_OBJECT

public:
  Area() {}
  ~Area() {}

  Area(const Area &area)    //复制构造函数
  {
    m_r = area.m_r;
  }

  //构造函数
  Area(int r)
  {
    m_r = r;
  }

  //求面积
  double CountArea()
  {
    return 3.14 * m_r * m_r;
  }

private:
  double m_r;     //半径

};

#endif // AREA_H


tst_areatesttest.cpp

/**
* 书本:【Qt5开发及实例】
* 功能:实现单元测试
* 文件:tst_areatesttest.cpp
* 时间:2015年2月24日20:59:03
* 作者:cutter_point
*/
#include <QString>
#include <QtTest>

#include "area.h"

class AreaTestTest : public QObject
{
  Q_OBJECT

public:
  AreaTestTest();

private Q_SLOTS:
  void toAreaTest();
};

AreaTestTest::AreaTestTest()
{
}

void AreaTestTest::toAreaTest()
{
  Area area(1);
  QVERIFY(qAbs(area.CountArea() - 3.14) < 0.00000001);      //求面积和3.14的差的绝对值为0,浮点数用0.00000001代替
  QVERIFY2(false, "Failure------------------");   //条件判断失败的时候,输出后面的那个信息
}

QTEST_APPLESS_MAIN(AreaTestTest)

#include "tst_areatesttest.moc"


截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: