【Qt5开发及范例】35、实现单元测试
【Qt5开发及实例】35、实现单元测试
tst_areatesttest.cpp
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"