门户网站开发维护合同,wordpress写文章 字号,百度网站排名怎么提高,新湖南app客户端报错信息 java.lang.NullPointerException 空指针异常 空对象引用 来源
对Controller层进行单元测试#xff0c;解决完Spring上下文报错后继续报错。
解决
在测试方法执行前要为字段完成对象的注入#xff0c;否则就报空指针异常。
测试例子
public class SysUserContr…报错信息 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 参数ResponseResultSysUser 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()));}
}