微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么尽管我已指定结果,但Jmockit模拟接口始终返回null?

如何解决为什么尽管我已指定结果,但Jmockit模拟接口始终返回null?

jmockit版本1.46 Java 1.8 简单的代码如下:

class PhoneControllerTest{

@Tested
PhoneController phoneController;

@Injectable
IPhoneservice phoneservice;
....
public void testMethod(@Tested Map map){
new Expections{{
  // example 1.mock success when param is 
  // primitive
  phoneservice.call("12345");
  result="0";

  //example 2 .mock fail when param is 
  
   phoneservice.call(map);
   result="0";

  
}}  
}}
interface IPhoneservice{ 
     String call(String id);
     String call(Map map);
}

我对example2感到困惑,为什么它返回null而不是0?我应该怎么做 result 可以在example2中正常工作。 @injectable对“结果”有影响吗?

解决方法

我想解决这个问题,只需用替换任何复杂的参数。 phoneService.call((Map)any);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。