java做简单的unitTest

article/2025/9/26 14:17:43

一、单元测试准备
引入junit和mockito包
在这里插入图片描述
单元测试主要注解:
@SpringBoot
@RunWith 测试运行器
@Before 在测试方法之前运行
@Test 测试方法
@After 测试方法之后运行
@InjectMocks 待测试类
@Mock 测试中需要使用到的类(模拟类)
@Spy 测试中需要使用到的类(真实类)

单元测试中其实最头疼的是构建参数,在我们项目中用到的方法是将数据放在excel表中循环拿数据调用
在这里插入图片描述
在这里插入图片描述
在测试过程中我们将测试分为两部分,一部分为controller层测试,一部分为service层测试
二、controller层单元测试
使用工具:Junit4+MockMvc+Mockito
Mockito使用mock来模拟外部依赖对象,创建一个轻量级的、可控制的对象来代替测试中需要的真实对象,模拟真实对象的行为和功能。
测试controller需要在web环境中发起请求,可选用mockMvc模拟web环境进行controller层测试。mockMvc资料可自行百度
大家可以根据自己的业务将请求封装
开始测试步骤
2.1为需要测试的类和方法创建test方法
在这里插入图片描述
2.2初始化mockMvc
在这里插入图片描述
2.3构建请求
在这里插入图片描述
2.4执行测试
在这里插入图片描述
可根据业务决定是否mock数据,根据不同场景选择注入注解
在这里插入图片描述
2.5对结果进行断言
在这里插入图片描述
controller层只用对参数进行校验,如果只需要测试接口是否能跑通,可用mock数据测试,mock service层返回数据
在这里插入图片描述

三、service层单元测试
service层单元测试和controller层思路一致
根据不同场景选择不同注解,因为service层测试往往会涉及到数据库操作,所以建议service层测试使用mock注解,需要访问service调用其他类的真实方法是可使用@Spy注解,注意:mock注解用在没有实现的接口上没有效果,mock只能mock实现类。
service层测试时所有使用到的类都需要注入。


http://chatgpt.dhexx.cn/article/vBbBKH10.shtml

相关文章

网络编程懒人入门(一):快速理解网络通信协议(上篇)

1、写在前面 论坛和群里常会有技术同行打算自已开发IM或者消息推送系统,很多时候连基本的网络编程理论(如网络协议等)都不了解,就贸然定方案、写代码,显得非常盲目且充满技术风险。 即时通讯网论坛里精心整理了《[通俗…

python入门之网络编程Scoket

1、网络编程基础: Sockets(套接字)可以在一个进程内,在同一机器上的进程之间,或者在不同主机的进程之间进行通信,主机可以是任何一台有连接互联网的机器。Socket主要是使用IP地址,协议&#xf…

CS编程入门篇

CS编程入门 第一部分:JavaScript、NodeJs CSS HTML1.1 前端1.2 网络 第二部分:Python第三部分:Java3.1 面对过程POP(性能)、面对对象OOP(类、对象 封装、继承、多态)、面向切面AOP 第四部分&a…

Python快速编程入门课后习题答案

文章目录 前言第一章一、填空题二、判断题三、选择题四、简答题 第二章一、填空题二、判断题三、选择题四、简答题 第三章一、填空题二、判断题三、选择题四、简答题 第四章一、单选题二、判断题三、填空题四、程序分析题 第五章一、选择题二、判断题三、填空题四、简答题五、程…

编程入门

这篇文章是特地为对编程有兴趣的同学特意准备的,非战斗人员请速速撤离。 0.选择一门编程语言 选择语言的话不需要纠结太多(但是不推荐易语言之流:),因为编程语言都是大同小异。并且在你精通一门语言之后再去学另一种编程语言时,你会发现卧槽要死要死,这么简单。 如果你…

Windows网络编程入门:简单的客户端和服务器通信程序调试

昨日入手Windows网络编程经络这本书,第一章给了Echo客户端和服务器的简单通信实例程序。从小白到入门目测都是比较苦逼,居然想不到怎么来测试结果。什么同时运行啊、分别编译运行啊乱七八糟的想法就开始冒。最后还是解决了。 1.运行“服务器.exe”文件 …

编程算法同步入门

课程内容 开篇词 | 为什么我们要学习编程? 为什么需要学习编程? 如今,学习编程的人分为两类,一类是程序员,另一类是期望成为程序员的人。 编程这个事儿,在大多数人眼中还是一种特定领域的、专门的技能,认为学的人都是需要以此谋生的。 其实,作为一个“码龄”超过2…

编程入门硬件部分

01 概述 02 计算机硬件 冯 诺依曼体系结构 每台计算机都有一个内部时钟,该时钟以固定速度发射电子脉冲。时钟速度越快,在给 定的时间段内执行的指令就越多。速度的计量单位是 赫兹 ( 1Hz 相当于每秒 1 个脉 冲 。 随着 CPU 速度不断提高,目前…

C# Socket网络编程入门(服务器与客户端通信,客户端与客户端通信)

WebSocket全双工通讯链接,用于前台和后台自由发送信息 一.效果展示: 效果描述: 1.服务器充当管理员,给所有人发送信息,除服务器以外其他人都能接受到。 2.其他用户发送信息除自己以外其他用户和管理员全能接受到。 …

TCP/IP网络编程 学习笔记_1 --网络编程入门

前言:这个系列网络编程教程实例代码是在Xcode上运行的,MacOSX,是一个基于UNIX核心的系统,所以基于Linux的网络编程代码一般可以直接在Xcode上运行,如果要移植到Windows其实就只需要稍微改下,本章下面有讲Wi…

Scratch编程入门

Scratch编程入门 Scratch是麻省理工学院的“终身幼儿园团队”(Lifelong Kindergarten Group)开发的图形化编程工具,免费。2019年1月2日正式发布, Scratch3.0。 Scratch把计算机执行的指令、逻辑变成了小朋友能看明白的“积木”,…

C语言网络编程——基础

OSI七层参考模型 是理想化的并没有完全实现的模型。 应用层 提供响应的应用服务 表示层 数据的表示和加密 会话层 建立会话关系 传输层 通过传输协议传输数据 网络层 实现跨子网通信,路由转发,维护路由表。 数据链路层 实现以太网内数据帧的转发 …

matlab 神经网络编程入门系列(1)

本文主要内容包括: (1) 介绍神经网络基本原理,(2) Matlab实现前向神经网络的方法 。 第0节、引例 本文以Fisher的Iris数据集作为神经网络程序的测试数据集。 由于英文的类无法识别,故需要把对应的类用数字标识,数据集变成&…

WinPcap网络编程入门——0. 环境配置及系列介绍

WinPcap网络编程入门——0. 环境配置及系列介绍 系列教程章节直达: Winpcap网络编程入门——1. 获取设备列表; 说明:本教程适用于网络编程开发人员入门,将从底层分析 WinPcap 的执行过程,结合一些实际用例来学习 WinP…

Java核心类库之(网络编程:网络编程入门、UDP通信程序、TCP通信程序)

目录 1 网络编程入门1.1 网络编程概述1.2 网络编程三要素1.3 IP地址1.4 InetAddress的使用1.5 端口1.6 协议 2 UDP通信程序2.1 UDP通信原理2.2 UDP发送数据2.3 UDP接收数据2.4 范例 3 TCP通信程序3.1 TCP通信原理3.2 TCP发送数据3.3 TCP接收数据3.4 案例3.4.1 练习一&#xff1…

Java网络编程入门(软件结构、网络通信协议、网络编程三要素)

文章目录 🐕软件结构🐶网络通信协议🦁协议分类🐅网络编程三要素🐆协议🐎IP地址🦌端口号 🐕软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结…

黑客编程入门 之 网络编程入门

网络编程入门 前言Socket技术详细介绍Socket 编程所需函数服务器/客户 代码 前言 “任何职业都可以成为黑客。你可以是一个木匠黑客。不一定是高科技。只要与技能有关,并且倾心专注于你正在做的事情,你就可能成为黑客。” ——引自《黑客伦理与信息时代精…

WinPcap网络编程入门——1. 获取设备列表

WinPcap网络编程入门——1. 获取设备列表 系列教程章节直达: Winpcap网络编程入门——1. 获取设备列表; 上节中我们简单介绍了 WinPcap 的相关资料,配置好了开发环境,现在就让我们正式开始网络编程开发吧! 1. 基本开…

网络编程入门(代码很详细)

网络编程 1.1概述 计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算…

网络编程——(1)网络编程入门

一、软件架构 1.1C/S结构: 全称Client/Server结构,是指客户端和服务器结构。常见的程序有QQ、迅雷等。 1.2 B/S结构: 全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 两种架构各有优势&#xf…