Junit测试套件(Test Suite)

0. 什么是测试套件

对多个测试类的统一执行

  • 只有一个测试类
    点击一下执行就好
  • 有 5个测试类
    分别打开 挨个点执行
  • 有100个测试类
    ??分别点开执行 ×
    为100个测试类创建一个测试套件,然后再执行一次测试套件
    在这里插入图片描述
  • 一个测试套件“囊括“三个测试类
  • 测试套件本质也是一个类

1. 为什么用测试套件?

方便测试 当有多个测试类时 不需要一个一个的执行

2. 如何使用测试套件?

  1. 有多个需要测试的类(最好放在同一个包中)
  2. 创建 测试套件 (选择需要测试的类 设置测试套件类的属性)
  • 选择对应的包(包含要测试的的类)
    在这里插入图片描述

  • 选择创建测试套件
    在这里插入图片描述

  • 设置测试套件的属性
    在这里插入图片描述
  1. 执行测试套件( 运行所测试套件所”囊括“的多个测试类)
    在这里插入图片描述
  • 上述的 测试方法分别来自 两个测试类
  • 执行一个测试套件=分别执行两个测试类

3. 代码

测试类A

package com.jaylan.example.test_suit;
//导入断言类库 注意是static 
import static org.junit.Assert.*;
//导入Junit 测试类库
import org.junit.Test;public class ExampleTest_3_TestSuit_ClassATest {@Testpublic void testA_1() {System.out.println("这是测试类ClassATest中的测试方法testA_1");assertEquals(1 , 1);}    @Testpublic void testA_2() {System.out.println("这是测试类ClassATest中的测试方法testA_2");assertEquals(1 , 1);}    
}

测试类B

package com.jaylan.example.test_suit;
//导入 断言类库
import static org.junit.Assert.*;
//导入Junit 测试类库
import org.junit.Test;// 测试套件 Test Suit 一套测试代码测试俩类似的类
public class ExampleTest_3_TestSuit_ClassBTest {@Testpublic void testB_1() {System.out.println("这是测试类ClassBTest中的测试方法TestB_1");assertEquals(1,1);}@Testpublic void testB_2() {System.out.println("这是测试类ClassBTest中的测试方法TestB_2");assertEquals(1, 1);}@Testpublic void testB_3() {System.out.println("这是测试类ClassBTest中的测试方法TestB_3");assertEquals(1, 1);}
}

测试套件

package com.jaylan.example.test_suit;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;// 使用 Suite类的测试模式
@RunWith(Suite.class)
//说明这个测试类是一个测试套件 并说明套件中的类有哪些
@SuiteClasses({ ExampleTest_3_TestSuit_ClassATest.class, ExampleTest_3_TestSuit_ClassBTest.class })
public class AllTests {}

4. 总结

  • 测试套件 可以同时执行多个测试类
  • 测试套件可以方便 测试类的执行
  • 测试套件中的多个类最好放在同一个包下
  • 执行一个测试套件 相当于分别执行多个测试类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/684215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[嵌入式系统-16]:RT-Thread -2- 主要功能功能组件详解与API函数说明

目录 一、RT-Thread主要功能组件 二、内核组件 2.1 概述 2.2 API 三、设备驱动 3.1 概述 3.2 API 四、通信组件 4.1 概述 4.4 API 五、网络组件 5.1 概述 5.2 API 5.3 补充:MQTT协议 六、文件系统 6.1 概述 6.2 API 七、GUI 组件 7.1 概述 7.2 …

[office] Excel CHITEST 函数 使用实例教程 #媒体#知识分享#其他

Excel CHITEST 函数 使用实例教程 提示 此函数已由 CHISQ.TEST 函数替换,新函数可以提供更好的精确度,其名称更好地反映其用法。旧函数仍可用于与早期版本Excel 的兼容。但是,如果不需要向后兼容,那么应考虑直接使用新函数&…

【AIGC】Stable Diffusion的模型微调

为什么要做模型微调 模型微调可以在现有模型的基础上,让AI懂得如何更精确生成/生成特定的风格、概念、角色、姿势、对象。Stable Diffusion 模型的微调方法通常依赖于您要微调的具体任务和数据。 下面是一个通用的微调过程的概述: 准备数据集&#xf…

平时积累的FPGA知识点(6)

平时在FPGA群聊等积累的FPGA知识点,第六期: 1 万兆网接口,发三十万包,会出现掉几包的情况,为什么? 原因:没做时钟约束,万兆网接口的实现,本质上都是高速serdes&#xf…

MinGW下载安装教程 傻瓜式操作【超详细】

一、下载 下载地址:MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net 点击“Download Latest Version”即可 注意:小伙伴儿们也可以私信我要安装包。 二、安装 下载完成后,会得到一个名为 mingw-get-setup.exe 的安…

机器学习网格搜索超参数优化实战(随机森林) ##4

文章目录 基于Kaggle电信用户流失案例数据(可在官网进行下载)数据预处理模块时序特征衍生第一轮网格搜索第二轮搜索第三轮搜索第四轮搜索第五轮搜索 基于Kaggle电信用户流失案例数据(可在官网进行下载) 导入库 # 基础数据科学运…

GNU工具

GNU GNUs Not Unix OSS open source software 最初的Linux缺少实用工具来实现标准功能 GNU组织开发了一套完整的Unix实用工具,但是缺少用于支撑其运行的内核系统 由此,Linux内核 GNU操作系统实用工具 构成了一个完整的Linux操作系统 或者说&…

Docker之MySQL8安装、容器数卷挂载、数据库导入导出操作

Docker之MySQL8安装、容器数卷挂载、数据库导入导出操作 文章目录 Docker之MySQL8安装、容器数卷挂载、数据库导入导出操作1. 拉取镜像与运行容器2. 进入容器登录数据库3. 导出数据库1. 导出数据库2. 导出常见问题4. 导入数据库到myql容器中 Docker中安装Mysql8 1. 拉取镜像与运…

MySQL性能调优篇(9)-数据库的水平与垂直分割

在大规模互联网应用中,数据库的性能和可扩展性是至关重要的。为了满足高并发和大规模数据需求,水平和垂直分割成为了大型数据库架构的关键概念。在本篇博客中,我将介绍MySQL数据库的水平和垂直分割的概念、原则、示例以及其优缺点。 水平分割…

系统架构27 - 软件架构设计(6)

基于架构的软件开发方法 基于架构的软件开发方法(ABSD)概述概念与术语开发模型体系结构需求体系结构设计体系结构文档化体系结构复审体系结构实现体系结构的演化 基于架构的软件开发方法(ABSD) 基于体系结构的软件设计 (Architec…

算法专题:线性DP

参考练习习题总集 文章目录 10. 正则表达式匹配44. 通配符匹配45. 跳跃游戏53. 最大子数组和91. 解码方法97. 交错字符串115. 不同的子序列119. 杨辉三角IILCR 161. 连续天数的最高销售额 10. 正则表达式匹配 第一道题就是困难题让我很难蚌。真是磨人啊。 class Solution { …

【JavaEE】_文件与IO

目录 1.文件概述 1.1 文件的概念 1.2 文件的存储 1.3 文件的分类 1.4 目录结构 1.5 文件操作 1.5.1 文件系统操作 1.5.2 文件内容操作 2. Java文件系统操作 2.1 File类所处的包 2.2 构造方法 2.3 方法 2.3.1 与文件路径、文件名有关的方法 2.3.2 文件是否存在与普…

RISC-V和ARM

参考:https://www.eet-china.com/mp/a39867.html RISC-V和ARM都是基于**精简指令集计算 (RISC)**原理建立的指令集架构。他们的主要区别在于他们的授权模式和开放性: ARM 是一种专有的指令集架构,众多使用ARM架构的厂商,只能根据…

openGauss学习笔记-221 openGauss性能调优-确定性能调优范围-分析作业是否被阻塞

文章目录 openGauss学习笔记-221 openGauss性能调优-确定性能调优范围-分析作业是否被阻塞221.1 操作步骤 openGauss学习笔记-221 openGauss性能调优-确定性能调优范围-分析作业是否被阻塞 数据库系统运行时,在某些业务场景下查询语句会被阻塞,导致语句…

【MySQL】操作库 —— 表的操作 -- 详解

一、增加表 1、创建表 mysql> create database [if not exists] table_name ( -> field1 datatype, -> field2 datatype, -> field3 datatype -> ) character set 字符集 collate 校验规则 engine 存储引擎; 注意 :最后一行也可以写成&#x…

Vue源码系列讲解——模板编译篇【二】(整体运行流程)

目录 1. 整体流程 2. 回到源码 3. 总结 1. 整体流程 上篇文章中我们说了&#xff0c;在模板解析阶段主要做的工作是把用户在<template></template>标签内写的模板使用正则等方式解析成抽象语法树&#xff08;AST&#xff09;。而这一阶段在源码中对应解析器&…

c语言操作符(上)

目录 ​编辑 原码、反码、补码 1、正数 2、负数 3、二进制计算1-1 移位操作符 1、<<左移操作符 2、>>右移操作符 位操作符&、|、^、~ 1、&按位与 2、|按位或 3、^按位异或 特点 4、~按位取反 原码、反码、补码 1、正数 原码 反码 补码相同…

MongoDB聚合操作符:$acos

$acos操作符返回一个值的反余弦。从MongoDB4.2版本开始支持。 语法 { $acos: <expression> }$acos接受任何可被解析为值在-1到1之间的表达式&#xff0c;即&#xff1a;-1 < value < 1$acos返回值以弧度为单位&#xff0c;使用$radiansToDegrees操作符可以把输出…

CDN直播基础概念与优化思路

基础概念 源站&#xff1a;中心服务器边缘服务器&#xff1a;即CDN服务&#xff0c;用于加速和分发客户端&#xff1a;访问源站服务的网民主播&#xff1a;向源站推送视频LDNS&#xff1a;本地配置DNS服务器的地址&#xff0c;用于调度解析CDN服务器的IP地址&#xff0c;由于用…

STM32 HAL库 STM32CubeMX -- IWDG(独立看门狗)

STM32 HAL库 STM32CubeMX -- IWDG 一、IWDG简介二、独立看门狗的工作原理三、驱动函数初始化函数HAL IWDG Init()初始化函数HAL IWDG Init()其他宏函数 四、超时时间计算第一种办法第二种办法&#xff08;推荐&#xff09; 一、IWDG简介 看门狗(Watchdog)就是MCU上的一种特殊的…