C++跨平台库QT学习7 使用UnitTest单元测试入门

C++跨平台库QT学习7 使用UnitTest单元测试入门

  • 一、新建子目录项目
  • 二、新建控制台项目
  • 三、新建测试用例子目录项目
    • mycalctest.pro文件内容:
    • 测试用例文件test_mycalctesttest.cpp
    • 在子项目`mycalctest`点右键、运行

一、新建子目录项目

在QT点击菜单 文件-新建文件或项目-其他项目-子目录项目:
C++跨平台库QT学习7 使用UnitTest单元测试入门_第1张图片
C++跨平台库QT学习7 使用UnitTest单元测试入门_第2张图片

二、新建控制台项目

然后继续建一个子项目:

C++跨平台库QT学习7 使用UnitTest单元测试入门_第3张图片
C++跨平台库QT学习7 使用UnitTest单元测试入门_第4张图片
新建类文件后,项目如下:
C++跨平台库QT学习7 使用UnitTest单元测试入门_第5张图片

新建类MyCalc,后面会对这个类里的add方法进行测试:
mycalc.h


class MyCalc
{
public:
    int add(int a,int b);
};


mycalc.cpp

#include "mycalc.h"

int MyCalc::add(int a,int b)
{
    return a+b;
}

main.cpp

#include 
#include "mycalc.h"
#include 

int main(int argc, char *argv[])
{
    MyCalc* calc= new MyCalc;
    qDebug() << calc->add(1,2) << endl;
}

三、新建测试用例子目录项目

在项目目录上点右键,选择新子项目:
C++跨平台库QT学习7 使用UnitTest单元测试入门_第6张图片
选择其他项目-Qt单元测试:
C++跨平台库QT学习7 使用UnitTest单元测试入门_第7张图片
C++跨平台库QT学习7 使用UnitTest单元测试入门_第8张图片
C++跨平台库QT学习7 使用UnitTest单元测试入门_第9张图片
新建后项目如下:
C++跨平台库QT学习7 使用UnitTest单元测试入门_第10张图片

mycalctest.pro文件内容:

#-------------------------------------------------
#
# Project created by QtCreator 2020-08-14T19:49:16
#
#-------------------------------------------------

QT       += testlib

QT       -= gui

TARGET = tst_mycalctesttest
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

HEADERS += \
  ../maincode/mycalc.h

SOURCES += tst_mycalctesttest.cpp \
 ../maincode/mycalc.cpp

DEFINES += SRCDIR=\\\"$$PWD/\\\"

测试用例文件test_mycalctesttest.cpp

#include 
#include 
#include 
#include "../maincode/mycalc.h"

class MycalctestTest : public QObject
{
    Q_OBJECT

public:
    MycalctestTest();

private Q_SLOTS:
    void initTestCase();
    void cleanupTestCase();
    void testCase1();
};

MycalctestTest::MycalctestTest()
{
}

void MycalctestTest::initTestCase()
{
	qDebug() << "init" << endl;
}

void MycalctestTest::cleanupTestCase()
{
}

void MycalctestTest::testCase1()
{
    QVERIFY2(true, "Failure");
    MyCalc* calc=new MyCalc;
    int ret = calc->add(1,2);
    QVERIFY(3==ret);
    QVERIFY(4==ret);
}

QTEST_MAIN(MycalctestTest)

#include "tst_mycalctesttest.moc"

在子项目mycalctest点右键、运行

C++跨平台库QT学习7 使用UnitTest单元测试入门_第11张图片
QT的单元测试还可以对GUI模拟鼠标键盘进行测试,以后有机会再具体讲解过程。

你可能感兴趣的:(#,QT)