Java 为什么Jmockit模拟接口总是返回null,尽管我已经指定了结果?
jmockit版本1.46 java 1.8 简单代码如下: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 /
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对“结果”有影响吗?我已经解决了这个问题,只需将复杂参数替换为
调用((映射)任意) 在
期望值
中输入的复杂对象可能与稍后在测试中输入的对象不相等。您能展示完整的示例代码和复杂类吗?另外,它只是猜测什么可能是错误的。我已经更新了代码。谢谢