Java高级-Junit单元测试框架

news2024/9/28 21:26:36

单元测试框架

  • 1.介绍
  • 2.案例、断言机制
  • 3.常见注解

1.介绍

单元测试

  • 就是在针对最小的功能单元方法,编写测试代码对其正确性测试

Junit单元测试框架

  • 可以对方法进行测试,是第三方公式开源出来的

优点

  • 可以灵活的编写测试代码,可以针对某个方法执行测试,也支持一键完成对全部方法的自动化测试,且相互独立
  • 不需要程序员去分析测试结果,会自动生成测试报告

在这里插入图片描述
在这里插入图片描述

2.案例、断言机制

具体步骤

  • 将Junit框架的jar包导入到项目中
  • 为需要测试的业务类,定义对应的测试类,并为每个业务方法,编写对应的测试方法(必须:公共、无参、无返回值)
    • 测试类命名:类名+Test (如 StringUtilTest)
    • 测试方法命名:test+测试的方法名 (如 testPrintNumber)
  • 测试方法上必须声明@Test注解,然后在测试方法中,编写代码调用被测试的业务方法进行测试
/**
 * 字符串工具类
 */
public class StringUtil {
    public static void printNumber(String name) {
        if (name == null) {
            System.out.println(0);
            return;
        }
        System.out.println("名字长度是:" + name.length());
    }

    /**
     * 求字符串的最大索引
     * @param data
     * @return
     */
    public static int getMaxIndex(String data) {
        if (data == null) {
            return -1;
        }
        return data.length();
    }
}
在这里插入代码片

3.常见注解

注解说明
@Test测试类中的方法必须用它修饰才能成为测试方法,才能启动执行
@Before用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次
@After用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次
@BeforeClass用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次
@AfterClass用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次
  • 在测试方法之前执行的方法,常用语:初始化资源
  • 在测试方法执行完成后再执行的方法,常用语:释放资源

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

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

相关文章

Stable Diffusion 参数介绍及用法

大模型 CheckPoint 介绍 作用:定调了作图风格,可以理解为指挥者 安装路径:models/Stable-diffusion 推荐: AnythingV5Ink_v32Ink.safetensors cuteyukimixAdorable_midchapter2.safetensors manmaruMix_v10.safetensors counterf…

leetcode刷题笔记——位运算

C/C语言中逻辑右移和算数右移共享同一个运算符>> 如果运算数类型是unsigned则采用逻辑右移,而signed则采用算数右移。对于signed类型的数据,如果需要使用算数右移,或者unsigned类型的数据需要使用逻辑右移,都需要进行类型转…

JAVASE---认识异常

在Java中,将程序执行过程中发生的不正常行为称为异常。 1.算数异常 2.数组越界异常 3.空指针异常 java中不同类型的异常,都有与其对应的类来进行描述。 异常的体系结构 1. Throwable:是异常体系的顶层类,其派生出两个重要的子…

阿里云服务器租用费用价格表(2023新版报价)

租用阿里云服务器怎么收费?阿里云服务器配置不同一年价格也不同,阿里云2核2G3M带宽108元一年、2核4G4M带宽297.98元12个月,云服务器u1公网带宽可选1M到5M,系统盘为ESSD云盘40GB起,CPU内存配置可选2核2G、2核4G、4核8G、…

Python爬虫在电商数据获取与分析中的应用

前言 随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。本文将介绍如何使用Python编写爬虫程序&a…

BaseRecyclerView - 一个强大的RecyclerAdapter框架

官网 BRVAH 项目介绍 高效的使用RecyclerView应对项目中的常见需求的Adapter,RecycleView从未如此简单! BRVAH官方使用指南 BRVAH官方使用指南(持续更新) - 简书

智慧交通:连接城市未来的纽带

在当今快节奏的现代生活中,交通问题一直是城市面临的重要挑战之一。拥堵、事故和空气污染等问题不仅影响着居民的日常生活,也对经济和环境产生了负面影响。为了解决这些问题,智慧交通作为一项重要的技术和社会创新出现在我们的视野中。 智慧交…

docker镜像相关

docker镜像相关 docker镜像相关理解解释unionFS(联合文件系统)镜像加载原理docker镜像要采用这种分层结构 重点理解docker镜像commit 操作实例案例演示总结 docker镜像相关理解 解释 镜像是一种轻量级,可执行的独立软件包,它包含…

软考高级之系统架构师之企业应用集成EAI

概述 在企业信息化建设的过程中,由于缺乏统一规划和总体布局,往往形成多个信息孤岛。信息孤岛使数据的一致性无法得到保证,信息无法共享和反馈,需要重复多次的采集和输入。信息孤岛是企业信息化一个重要的负面因素,其…

SpringBoot结合Vue.js+axios框架实现增删改查功能+网页端实时显示数据库数据(包括删除多条数据)

本文适用对象:已有基础的同学,知道基础的SpringBoot配置和Vue操作。 在此基础上本文实现基于SpringBoot和Vue.js基础上的增删改查和数据回显、刷新等。 一、实时显示数据库数据 实现步骤: 第1步:编写动态请求响应类&#xff1…

由河北吉力宝战略发展规划看中国品牌商业发展新方向

当今时代,一个经济体的发展和崛起背后,往往是一批民族品牌在提供强力的支撑。中国作为全世界最大的发展中国家,在经济建设中取得了举世瞩目的发展成就,各个行业涌现出一批优秀的国民品牌。 随着高质量发展成为各行各业的广泛共识…

docker alpine:3.16 root权限安装Anaconda3-2020.07-Linux-x86_64和jdk

首先查看系统版本: rootfv-az454-287:/tmp# uname -a Linux fv-az454-287 5.15.0-1046-azure #53~20.04.1-Ubuntu SMP Mon Aug 28 14:17:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux rootfv-az454-287:/tmp# grep NA /etc/os-release NAME"Ubuntu" PRETTY_NAME&q…

笔记本电脑没有麦克风,声音无法找到输入设备

新买的电脑没有扬声器,电脑声音没有输入设备,在开腾讯会议的时候才发现竟然有这个问题。 网上找原因,哎,找了一大堆每一个靠谱的 这让我想起来上次电脑没有热键的问题,所有问题的终极解决方案,都在源头那里…

加密算法总结

数字签名、信息加密 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法 来达到业务目标。这里简单的给大家介绍几…

如何给我们项目中的node_modules里面的包打补丁

背景 我们项目所依赖的一个包因为版本问题,可能在低版本的情况下,会出现报错。我们希望能patch这个错误。 // shopee-rn/nebula import { reportUIError } from shopee/react-native-sdk;useEffect(() > {if (!__DEV__) {reportUIError(); // shope…

node_modules/XXX/index.js:XXX;XX ||= XXX?.[level];SyntaxError: Une

这个语法是 ECMAScript 2021的语法 还挺新的 对node版本要求会比较高 这里这个 icon || this.options.icon?.[level];意思就是 如果this.options.icon [level] 拿得到值 就等于它 否则 如果拿不到 icon 就等于自己 要解决这个问题 一个是你可以提高node版本 但我不建议 还是…

centos 部署 xray

目录 1、部署 xray 2、部署测试靶场 jdk8 安装 tomcat 部署 3、测试 基础 web 扫描 GET 请求的扫描: POST 请求的扫描 参数和选项说明 1、部署 xray 选择最新的 xray 社区版下载 Releases chaitin/xray GitHub 解压后运行: ./xray_linux_a…

公司用什么软件监控员工工作状态的?(如何监控员工上班电脑的工作情况?)

在现代的商业环境中,管理和监控员工的工作内容是至关重要的。为了确保员工的工作效率和质量,公司需要使用一些工具来监控他们的工作进程。以下是五款实用的监控员工工作内容的软件,其中包括了洞察眼MIT系统。 洞察眼MIT系统 洞察眼MIT系统是…

全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著作——2023学生开学季辉少许

全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著作——2023学生开学季辉少许

go语言 反向代理

实现简单的http反向代理 还没有加入负载均衡 新手推荐 下游服务器代码 package mainimport ("fmt""io""log""net/http""os""os/signal""syscall""time" )type RealServer struct {Addr str…