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 {
    
    @Test
    public void testA_1() {
        System.out.println("这是测试类ClassATest中的测试方法testA_1");
        assertEquals(1 , 1);
    }    
    
    @Test
    public 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 {

    
    @Test
    public void testB_1() {
	System.out.println("这是测试类ClassBTest中的测试方法TestB_1");
	assertEquals(1,1);
    }
    
    @Test
    public void testB_2() {
	System.out.println("这是测试类ClassBTest中的测试方法TestB_2");
	assertEquals(1, 1);
    }
    @Test
    public 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. 总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跟着pink老师前端入门教程(JavaScript)-day02

三、变量 (一)变量概述 1、什么是变量 白话:变量就是一个装东西的盒子 通俗:变量是用于存放数据的容器,通过变量名获取数据,甚至数据可以修改 2、变量在内存中的存储 本质:变量是程序在内存…

作业帮 x TiDB丨多元化海量数据业务的支撑

导读 作业帮是一家成立于 2015 年的在线教育品牌,致力于用科技手段助力教育普惠。经过近十年的积累,作业帮运用人工智能、大数据等技术,为学生、老师、家长提供学习、教育解决方案,智能硬件产品等。随着公司产品和业务场景越来越…

黑马程序员——移动Web——day03

目录: 移动Web基础 谷歌模拟器屏幕分辨率视口二倍图适配方案rem 简介媒体查询rem布局flexible.jsrem移动适配less 注释运算嵌套变量导入导出禁止导出综合案例-极速问诊 准备工作头部布局头部内容banner区域问诊类型布局问诊类型内容 1.移动 Web 基础 谷歌模拟器 …

软件实例分享,家具生产出库管理系统软件教程

软件实例分享,家具生产出库管理系统软件教程 一、前言 以下软件程序教程以 佳易王家具行业生产出库管理系统软件V16.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 销售管理——产品状态查询变更,可以根据生产进度变更…

每日OJ题_二叉树dfs①_力扣2331. 计算布尔二叉树的值

目录 力扣2331. 计算布尔二叉树的值 解析代码 力扣2331. 计算布尔二叉树的值 2331. 计算布尔二叉树的值 难度 简单 给你一棵 完整二叉树 的根,这棵树有以下特征: 叶子节点 要么值为 0 要么值为 1 ,其中 0 表示 False ,1 表示…

七天入门大模型 :来,亲手做一个AI应用!

内容提纲 七天入门大模型已完成了6篇,喜欢记得收藏、关注、点赞。 七天入门大模型 :LLM大模型基础知识最全汇总七天入门大模型 :提示词工程 Prompt Engineering,最全的总结来了!七天入门大模型 :LLM和多模…

74HC373使用方法

74HC373属于D锁存器 OC:输出控制,低电平输出使能 LE:锁存使能输入,低电平直通,高电平锁存 Q:数据输出引脚 D:数据输入引脚

推荐系统|召回04_离散特征处理

离散特征处理 离散特征是什么 怎么处理离散特征 One-hot编码 Embedding嵌入 从one-hot到Embedding,已经节省了很多的存储空间,但当数据量大的时候,还是占空间,所以工业界仍会对Embedding进行优化 而一个物品所对应的Embedding参数…

使用Python编写脚本-根据端口号杀掉进程

我的GitHub:Powerveil - GitHub 我的Gitee:Powercs12 - Gitee 皮卡丘每天学Java 从前段开始遇到一个问题,服务在启动的时候总是端口被占用,发现还是Java程序,但是当时并没有启动Java程序,电脑出问题了。 一…

Vue项目-创建

Vue项目-创建 创建一个工程化的Vue项目,执行命令:npm init vuelatest 第一次执行npm init vuelatest命令,会出现以下提示,输入y即可安装create-vue最新版本。 随后create-vue脚手架会给出项目的众多选项 根据提示输入命令 cd…

WebServer 之 http连接处理(下)

目录 ✊请求报文--解析 流程图 && 状态机 状态机 -- 状态转移图 主状态机 从状态机 http 报文解析 HTTP_CODE 含义 从状态机 逻辑 主状态机 逻辑 🐞请求报文--响应 基础API stat mmap iovec writev 流程图 HTTP_CODE 含义(2) 代码分析 …

CV | Segment Anything论文详解及代码实现

本文主要是详解解释了SAM的论文部分以及代码实现~ 论文:2023.04.05_Segment Anything 论文地址:2304.02643.pdf (arxiv.org) 代码地址:facebookresearch/segment-anything: The repository provides code for running inference with the Seg…

鲜为人知的python位运算

位运算&#xff0c;计算机内所有的数都以二进制存储&#xff0c;位运算就是对二进制位的操作 位运算符说明<<按位左移&#xff0c;左移n位相当于乘以2的n次方>>按位右移 &#xff0c;左移n位相当于除以2的n次方&按位与&#xff0c;二进制位数同且为1结果位为1…

RK3399平台开发系列讲解(USB篇)USB控制传输方式介绍

🚀返回专栏总目录 文章目录 一、控制传输详解二、Setup阶段和Data阶段三、Setup 事务格式沉淀、分享、成长,让自己和他人都能有所收获!😄 📢USB控制传输是USB通信中的一种基本传输类型,用于控制USB设备的配置和操作。它由 Setup 阶段和 Data 阶段组成,可用于发送命令…

Vulnhub靶机:DC5

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;DC5&#xff08;10.0.2.58&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.com/dc/DC-5.zi…

Mysql第二关之存储引擎

简介 所有关于Mysql数据库优化的介绍仿佛都有存储引擎的身影。本文介绍Mysql常用的有MyISAM存储引擎和Innodb存储引擎&#xff0c;还有常见的索引。 Mysql有两种常见的存储引擎&#xff0c;MyISAM和Innodb&#xff0c;它们各有优劣&#xff0c;经过多次优化和迭代&#xff0c;…

数据库数据加密的 4 种常见思路的对比

应用层加解密方案数据库前置处理方案磁盘存取环节&#xff1a;透明数据加密DB 后置处理 最近由于工作需要&#xff0c;我对欧洲的通用数据保护条例做了调研和学习&#xff0c;其中有非常重要的一点&#xff0c;也是常识性的一条&#xff0c;就是需要对用户的个人隐私数据做好加…

Jetson下的i2c、spi、gpio、can、uart、485代码示例使用说明

适用于刚接触新设备的同学参考。 UART 演示代码 目前&#xff0c;这是一个简单的 Python 3 脚本&#xff0c;用于与 NVIDIA Jetson Nano 开发套件的 J41 头上的 UART 进行交互。当然只要是jetson都可以用&#xff0c;改一下程序里面的设备节点就行 JetsonHacks 上的原始文章&…

智能摄像头prv文件恢复案例

家用智能摄像头一般采用的是mp4或者mov视频方案&#xff0c;常见的是mp4&#xff0c;对于部分有开发能力的厂商可能会采用自定义方案&#xff08;如360的bin文件&#xff09;,今天我们来看一个小厂的PRV自定义文件的恢复案例。 故障存储: 32G TF卡/fat32/ 簇&#xff08;块)大…

stl~string

迭代器 typedef char* iterator;typedef const char* const_iterator;iterator begin(){return _str;}iterator end(){return _str _size;}const_iterator begin() const//左值const{return _str;}const_iterator end() const{return _str _size;} for&#xff08;auto e : …