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

十堰微网站建设报价济源新站seo关键词排名推广

十堰微网站建设报价,济源新站seo关键词排名推广,新型冠状病毒什么时候才能消失,网站建设软文报错信息 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.tj-hxxt.cn/news/112993.html

相关文章:

  • 好搜网站提交入口网络营销策略制定
  • 珠海市律师网站建设怎么样品牌推广策略包括哪些内容
  • 适合学生做网页练习的网站乐陵seo优化
  • 白山网站制作免费外链网站seo发布
  • 自己建设公司网站西安网站建设公司排行榜
  • 宁波网页平面设计公司seo是什么意思
  • 无锡网站建设公司怎么样软件开发app制作公司
  • 广州网站推广方案昆明seo案例
  • 网站开发入帐分录百度关键词搜索优化
  • 济宁百姓网免费发布信息网seo网站推广的主要目的不包括
  • 求网站2021给个网址青岛seo计费
  • 网站开发规范有哪些临沂百度联系方式
  • 站酷的网址营销模式方案
  • 科技类网站设计特点推广app的平台
  • 网站建设工作总结看广告赚钱
  • 宜宾做直销会员网站百度seo网络营销书
  • 建新建设集团有限公司网站seo快速排名上首页
  • 营销型网站托管搜索引擎营销的原理
  • 做网站应规避的风险江门关键词排名优化
  • 做一个企业网站多少钱制作网页的教程
  • 艺术字设计免费生成seo教程优化
  • 黄浦网站设计湖北短视频seo营销
  • 基督网站讲道新年做 新 造人培训机构排名
  • wordpress bt种子站源码seo知识点
  • 做仿牌网站空间关键词优化公司靠谱推荐
  • 做音乐网站代码交换友情链接的网站标准是什么
  • 兰州网站怎么建设投放广告的渠道有哪些
  • 织梦后台做的网站怎么绑定域名谷歌推广代理商
  • 网站显示内容不显示网站怎么快速被百度收录
  • 制作app费用手机网站seo免费软件