计算机系统应用教程网站

网站首页 > 技术文章 正文

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

btikc 2024-09-08 12:03:05 技术文章 12 ℃ 0 评论



一、新建子目录项目

在QT点击菜单 文件-新建文件或项目-其他项目-子目录项目:

二、新建控制台项目

然后继续建一个子项目:

新建类文件后,项目如下:

新建类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 <QCoreApplication>
#include "mycalc.h"
#include <QDebug>

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

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

在项目目录上点右键,选择新建子项目:

选择其他项目-Qt单元测试:

新建后项目如下:

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 <QString>
#include <QtTest>
#include <QCoreApplication>
#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点右键、运行

QT的单元测试还可以对GUI模拟鼠标键盘进行测试,以后有机会再具体讲解过程。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表