Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Jmockit模拟接口总是返回null,尽管我已经指定了结果?_Java_Jmockit - Fatal编程技术网

Java 为什么Jmockit模拟接口总是返回null,尽管我已经指定了结果?

Java 为什么Jmockit模拟接口总是返回null,尽管我已经指定了结果?,java,jmockit,Java,Jmockit,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 /

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);
}

我对示例2感到困惑,为什么它返回null而不是0?我应该如何做才能使结果在示例2中运行良好。@injectable对“结果”有影响吗?

我已经解决了这个问题,只需将复杂参数替换为任何。
调用((映射)任意)

期望值
中输入的
复杂对象可能与稍后在测试中输入的对象不相等。您能展示完整的示例代码和
复杂类吗?另外,它只是猜测什么可能是错误的。我已经更新了代码。谢谢