单元测试-java.lang.NullPointerException

报错信息

java.lang.NullPointerException
空指针异常
空对象引用

来源

Controller层进行单元测试,解决完Spring上下文报错后继续报错。

解决

在测试方法执行前要为字段完成对象的注入,否则就报空指针异常。
在这里插入图片描述

测试例子

public class SysUserControllerTest {@InjectMocks// 在单元测试中没有启动Spring框架时,通过@InjectMocks完成依赖注入private SysUserController sysUserController;@Mock// 创建模拟对象private SysUserService sysUserService;@BeforeEach// JUnit5 弃用Before,每个测试方法执行之前初始化测试环境public void setUp() {MockitoAnnotations.openMocks(this);// 初始化被@Mock、@Spy、@Captor 和 @InjectMocks 注解的字段}@Testpublic void testSelectOne() throws Exception {// 准备测试数据Serializable id = 1;SysUser sysUser = new SysUser();sysUser.setId(1L);sysUser.setUserName("admain");// 设置mock对象行为// 设置sysUserService的 getById 方法的返回值为 sysUserwhen(sysUserService.getById(id)).thenReturn(sysUser);// 调用被测试的方法// 调用 sysUserController 的 selectOne 方法,并传入 id 参数ResponseResult<SysUser> responseResult = sysUserController.selectOne(id);// 如果 responseResult 的 Code 字段等于 200
//        if (responseResult.getCode() == 200) {
//            // 打印 responseResult 的 JSON 字符串形式
//            System.out.println(JSON.toJSONString(responseResult));
//        }// 断言验证结果assert (responseResult.getData().getUserName().equals(sysUser.getUserName()));}
}

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

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

相关文章

微信开放平台Android平台应用签名怎么填写

winR 输入cmd 进到本地签名文件的目录下 输入 keytool -list -v -keystore <keystore文件路径> -alias <别名>请将 <keystore文件路径> 替换为您的密钥库文件&#xff08;通常是 .jks 或 .keystore 文件&#xff09;的路径&#xff0c;而 <别名> 则是…

优思学院|2024年质量管理的大趋势

2023年我们已经顺利度过了整年的大部分时间&#xff0c;2024年质量管理的趋势和问题在全球范围内都已经引起了关注&#xff0c;或者仍然是企业导航的首要任务。 1. 通货膨胀与质量管理 2023年&#xff0c;全球范围内通货膨胀和严峻的经济状况成为企业最关心的问题之一。尽管物…

【VSCode】VSCode 使用

目录 文章目录 目录插件配置设置代码不显示 git 提示 "xxx months ago | 1 author"设置打开项目不自动选择 CMakeLists 插件 以下插件为 C 开发偏好设置。 C/CCMakeCMake ToolsGitLensRemote DevelopmentRemote Explorer 配置 设置代码不显示 git 提示 “xxx mon…

关于js的find的基本用法

Array.prototype.find() 是 JavaScript 的一个数组方法&#xff0c;它被用来在数组中查找一个符合条件的元素。一旦找到第一个符合条件的元素, find() 会立即返回这个元素的值&#xff0c;否则返回 undefined。 以下是 find() 方法的基本语法&#xff1a; arr.find(callback(el…

pcie-2-rj45速度优化

背景: 目前用iperf3打流传输速率达不到要求,千兆实际要求跑到800M以上: 优化方案: 1.优化defconfig: 首先编译user版本验证看是否正常 debug版本关闭CONFIG_SLUB_DEBUG_ON宏控。 2.找FAE ,通过更换驱动,或者更新驱动来优化 3.绑定大核: 以8125网卡为例,udp…

kolla 安装多节点openstack kolla部署openstack

Kolla 概述&#xff1a; Kolla是OpenStack下用于自动化部署的一个项目&#xff0c;它基于docker和ansible来实现&#xff0c;其中docker主要负责镜像制作和容器管理&#xff0c;ansible主要负责环境的部署和管理。Kolla实际上分为两部分&#xff1a;Kolla部分提供了生产环境级…

开发板启动进入系统以后再挂载 NFS 文件系统, 这里的NFS文件系统是根据正点原子教程制作的ubuntu_rootfs

如果是想开发板启动进入系统以后再挂载 NFS 文件系统&#xff0c;开发板启动进入文件系统&#xff0c;开发板和 ubuntu 能互相 ping 通&#xff0c;在开发板文件系统下新建一个目录 you&#xff0c;然后执行如下指令进行挂载&#xff1a; mkdir mi mount -t nfs -o nolock,nfsv…

BootStrap【表格二、基础表单、被支持的控件、表单状态】(二)-全面详解(学习总结---从入门到深化)

目录 表格二 表单_基础表单 表单_被支持的控件 表单_表单状态 表格二 紧缩表格 通过添加 .table-condensed 类可以让表格更加紧凑&#xff0c;单元格中的内补&#xff08;padding&#xff09;均会减半 <table class"table table-condensed table-bordered"…

PTA 六度空间

“六度空间”理论又称作“六度分隔&#xff08;Six Degrees of Separation&#xff09;”理论。这个理论可以通俗地阐述为&#xff1a;“你和任何一个陌生人之间所间隔的人不会超过六个&#xff0c;也就是说&#xff0c;最多通过五个人你就能够认识任何一个陌生人。”如图1所示…

【Spring篇】Spring注解式开发

本文根据哔哩哔哩课程内容结合自己自学所得&#xff0c;用于自己复习&#xff0c;如有错误欢迎指正&#xff1b; 我在想用一句话激励我自己努力学习&#xff0c;却想不出来什么惊为天人、精妙绝伦的句子&#xff0c;脑子里全是上课老师想说却没想起的四个字 “ 唯手熟尔 ”&am…

分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测

分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测 目录 分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据…

Spring-jdbcTemplate-配置数据库连接池

1、jdbc.properties jdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql:///studb jdbc.userroot jdbc.pwd123456 2、beans.xml <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans&…