Mockito单元测试异常情况
Mockito是mocking框架,它让你用简洁的API做测试。而且Mockito简单易学,它可读性强和验证语法简洁。
·
一、空指针异常
java.lang.NullPointerException: element cannot be mapped to a null key
例子:
Map<String, List<CellScene5g>> data = cell.stream().collect(Collectors.groupingBy(CellScene5g::getCity));
使用Collectors.groupingBy()进行分组时,分组值存在null值。
解决办法:分组值为null时,默认值为空字符,或者让数据不为空。
二、多个参数匹配异常
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
例如:
when(xxxx.xxxx(a)).thenReturn(b)
如果a和b一个是正常传参(list、map、string…)另一个是任意万能传参(any()、anyList()、anyString()…)这样就会报错,必须保证是同一种匹配机制,要么都用具体值,要么都用匹配值
三、fastJSON格式异常
com.alibaba.fastjson.JSONException:
解决方法:
确保fastJSON正确的格式
String s = “{‘name’:‘name’, ‘flag’:1}”;
四、不必须异常
Wanted but not invoked:
就是需要但未调用,找到报错行,注释了这行对比结果的,就不会报错了哈哈
五、字符串下标越界异常
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
注意看字符串截取的下标就行
六、严格存根参数不匹配错误
org.mockito.exceptions.misusing.PotentialStubbingProblem:
这个具体得看自己的代码对照着传参慢慢推理
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)