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

自己是如何使用单元测试

前言

自己是如何使用单元测试

进行单元测试能够让我们在编写方法的具体实现代码后,能清晰地看到其是否能实现预期的功能,有助于我们及时修正自己方法中存在的bug,以免在后续使用到某方法时出现意想不到的错误。


一、引入单元测试所使用的依赖

		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><!---如果不需要junit4就排除该依赖-><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.jeasy</groupId><artifactId>easy-random-core</artifactId><version>4.3.0</version><scope>test</scope><exclusions><!-- 跟 SpringAOP 引入的 objenesis 有冲突,要排除 --><exclusion><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId></exclusion></exclusions></dependency><!-- 支持根据参数校验逻辑生成对象字段 --><dependency><groupId>org.jeasy</groupId><artifactId>easy-random-bean-validation</artifactId><version>4.3.0</version><scope>test</scope><exclusions><exclusion><artifactId>snakeyaml</artifactId><groupId>org.yaml</groupId></exclusion></exclusions></dependency>

二、如何在Controller层进行单元测试?

代码如下(示例):

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
@AutoConfigureMockMvc
class xxxTest{@Autowiredprivate MockMvc mockMvc;Headers headers = new Headers();@BeforeEachvoid setUp(){// TODO 如果需要Token等内容可以在测试之前准备好}@Testvoid testXxx(){// 准备好Controller层所使用的参数// 通过使用EasyRandom类生成随机参数XxxVO vo = new EasyRandom().nextObject(XxxVO.class)// 将参数转换为Json字符串String content = JSONObject.toJSONString(vo);// 发送请求String contentAsString = mockMvc.perform(// 发送Post请求MockMvcRequestBuilders.post(url)// 在header中添加参数,并设置编码.headers(headers).contentType(MediaType.APPLICATION_JSON_VALUE)// 发送的Json内容.content(content.getBytes(StandardCharsets.UTF_8)).andReturn().getResponse().getContentAsString(StandardCharsets.UTF_8);System.out.println(contentAsString);}
}

三、如何在Service层进行单元测试?

代码如下(示例):

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;@SpringBootTest
@ActiveProfiles("dev")
class XxxTest(){@Autowriedprivate XxxService xxxService;@Test@DisplayName("测试某个功能")// 关闭该测试@Disabledvoid testXxx(){}
}


总结

用JUnit编写测试类,进行单元测试能够让我们在编写方法的具体实现代码后,能清晰地看到其是否能实现预期的功能,有助于我们及时修正自己方法中存在的bug,以免在后续使用到某方法时出现意想不到的错误。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

 行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时点击加入群:1150305204 ,里面有各种测试开发资料和技术可以一起交流哦。

http://www.lryc.cn/news/284631.html

相关文章:

  • 第二百七十八回
  • Java 内存模型深度解析
  • python爬取图片(thumbURL和html文件标签分别爬取)
  • MySQL、Oracle 常用SQL:建表、建视图、数据增删改查、常用condition
  • Docker(八)高级网络配置
  • VUE--- ref refs
  • 微信小程序之WXML 模板语法之数据绑定、事件绑定、wx:if和列表渲染
  • maven导入无法拉取所需依赖
  • 【2023-08-20】字节跳动秋招笔试四道编程题解
  • VPS网站发布-个人网站搭建与部署-个人简历网站示例-个人简历网站案例-网站推广
  • INTEWORK—PET 汽车软件持续集成平台
  • 【Git】 取消上一次commit或push
  • 回归预测 | Matlab基于OOA-SVR鱼鹰算法优化支持向量机的数据多输入单输出回归预测
  • Spring Boot整合MyBatis
  • MySQL语句 | 在MySQL中解析JSON或将表中字段值合并为JSON
  • 基于springboot+vue的图书个性化推荐系统(前后端分离)
  • 将自然数序列剔除掉包含4的数字,求第k(1e12)个数是什么
  • 用Photoshop来制作GIF动画
  • 原地swap(inplace_swap)
  • 《JVM由浅入深学习九】 2024-01-15》JVM由简入深学习提升分(生产项目内存飙升分析)
  • 统计学-R语言-4.6
  • git提权
  • 实验四 SQL语言
  • 2024年简历石沉大海,别投了,软件测试岗位饱和了....
  • JS执行顺序
  • Vscode 上安装 Compilot
  • Spring集成MyBatis与MyBatis-Plus添加分页插件
  • Windows下载安装vcpkg并使用它来安装第三方库(visualstudio)
  • leetcode-2788按分隔符拆分字符串
  • 使用Ctrl+Alt+T快速打开Windows Terminal终端