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

做外贸生意最好的网站wordpress 知识库

做外贸生意最好的网站,wordpress 知识库,西宁市城乡规划和建设局网站,网站策划书预期风险报错信息 java.lang.NullPointerException 空指针异常 空对象引用 来源 对Controller层进行单元测试,解决完Spring上下文报错后继续报错。 解决 在测试方法执行前要为字段完成对象的注入,否则就报空指针异常。 测试例子 不完整启动Spring框架 pub…

报错信息

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

来源

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

解决

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

测试例子

不完整启动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()));}
}
完整启动Spring框架

避免手动注入字段。
注意:完整启动的话->Mockito测试框架中来模拟一个对象的行为会失效(when()失效)。
通常不这样测试,如果需要在单元测试中模拟Spring Boot应用程序的某些功能,可以考虑使用@SpringBootTest

@SpringBootTest
public class SysUserControllerTest {@Autowired// @SpringBootTest完整启动Spring框架时,通过@Autowired完成依赖注入private SysUserController sysUserController;@Mock// 创建模拟对象private SysUserService sysUserService;@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().getId().equals(sysUser.getId()));}
}
http://www.yayakq.cn/news/316903/

相关文章:

  • 卖房网站排名dokan wordpress
  • 桂林论坛网站有哪些网站推广seo优化
  • 品牌网站设计制作公司手工制作飞机
  • 如何网站建设全包用户体验设计原则
  • 仿网站教程做网站的数据库的步骤
  • 百度网站地图模板android下载软件
  • 海口网站建设价格郑州河北建设工程信息网站
  • 网站网站怎么做文军seo
  • 如何查询一个网站是那家公司做的怎么做个人网页
  • 有哪些公司网站建设比较好wordpress小说采集插件
  • 如何在百度上做网站推广视频网站开发前景如何
  • 做网站499精湛的网站建设排行榜
  • 帮中介做网站赚钱吗上海市工程建设检测网
  • 网站seo是什么上海最好的网站建设公司
  • 石家庄新钥匙网站建设建设高端网站公司哪家好
  • 比较好的网站公司wordpress d8电影主题
  • 购物网站开发教程 视频做app多少钱
  • 免费网站建设排行表做网站推广需要哪些知识
  • 个人网站做seo网站建设与管理吴振峰ppt
  • 盐城网站建设建站网站运行维护
  • 鄂尔多斯网站制作 建设推广郑州网站建设品牌
  • 凡科建站官网免费注册网站建设中 html 下载
  • 产品价格的网站建设网站开发合同的付款方式
  • 如何建设国外的网站pc网站转wap网站
  • 乐清市建设路小学网站软件wap网站
  • 网站链接跳转怎么做网站建设主要步骤
  • 帝国网站模板建设视频怎么让网站排名上去
  • 建设部监理师网站深圳做网站比较好的公司有哪些
  • 博客网站素材低价网站建设联系方式
  • 手机网站建设与布局推推蛙seo