当前位置: 首页 > news >正文

使用QtTest

所有项目路径:

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();int add(int a,int b);
private:Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setText(QString::number(add(100,100)));
}Widget::~Widget()
{delete ui;
}int Widget::add(int a, int b)
{return a+b;
}

QtTestSubPro.pro

QT += core gui widgets testlib   # 必须包含这四个模块
#QT -= guiCONFIG += qt console warn_on depend_includepath testcase
CONFIG -= app_bundleTEMPLATE = app
# 添加包含路径
INCLUDEPATH += $$PWD/../MainPro/SOURCES +=  tst_mainprotest.cppSOURCES+= $$PWD/../MainPro/widget.cppHEADERS += $$PWD/../MainPro/widget.h \FORMS += $$PWD/../MainPro/widget.ui

tst_mainprotest.cpp

#include <QtTest>
#include "widget.h"
// add necessary includes hereclass mainProTest : public QObject
{Q_OBJECTpublic:mainProTest();~mainProTest();private slots:void test_case1();
};mainProTest::mainProTest() {}mainProTest::~mainProTest() {}void mainProTest::test_case1()
{Widget w;QCOMPARE(w.add(100,200),200);
}QTEST_APPLESS_MAIN(mainProTest)#include "tst_mainprotest.moc"

结果:

http://www.dtcms.com/a/276975.html

相关文章:

  • 反激变换器设计全流程(一)——电路拓扑及工作流程
  • Chrome v109.0.5414.168 绿色便携版 Windows 7/2012R2 最终版 下载
  • 开发语言的优劣势对比及主要应用领域分析
  • GROW领导力模型
  • Unity物理系统由浅入深第四节:物理约束求解与稳定性
  • 【算法分析与设计】研究生第一次算法作业latex源码+pdf
  • docker容器高级管理-dockerfile创建镜像
  • 飞算 JavaAI 智能编程助手:颠覆编程旧模式,重构开发生态
  • Java小白-线程 vs 虚拟线程,Java并发的新旧对决
  • LeetCode--44.通配符匹配
  • Java4种设计模式详解(单例模式、工厂模式、适配器模式、代理模式)
  • Linux的 iproute2 配置:以太网(Ethernet)、绑定(Bond)、虚拟局域网(VLAN)、网桥(Bridge)笔记250713
  • 文心一言大模型4.5系列开源测评
  • 【Leetcode】2410. 运动员和训练师的最大匹配数
  • 预处理器完整功能介绍和示例演示(LESS/SCSS)
  • 笔记-极客-DDD实战-基于DDD的微服务拆分与设计
  • MongoDB数据基本介绍
  • 决策树的相关理论学习
  • [论文阅读] 软件工程 | 首个德语软件工程情感分析黄金标准数据集:构建与价值解析
  • Java设计模式之行为型模式(命令模式)介绍与说明
  • 什么时候会用到 concurrent.futures?要不要背?
  • 【Linux | 网络】应用层
  • 003_了解Claude
  • 基于SpringBoot3集成Kafka集群
  • MongoDB性能优化实战指南:原理、实践与案例
  • 【设计模式】职责链模式(责任链模式) 行为型模式,纯与不纯的职责链模式
  • 前端框架状态管理对比:Redux、MobX、Vuex 等的优劣与选择
  • ALB、NLB、CLB 负载均衡深度剖析
  • 闲庭信步使用图像验证平台加速FPGA的开发:第十二课——图像增强的FPGA实现
  • axios拦截器