我有一个模拟:
static MyGroovyBasedHttpClient createClient(){
MyGroovyBasedHttpClient client = mock(MyGroovyBasedHttpClient.class);
Answer<SimpleResponse> methodAnswer = createGenericAnswer();
when(client.myMethod(anyString(), anyInt(),anyString())).thenAnswer(methodAnswer);
return client;
}
我有方法调用
def response = client.myMethod(stringParam1, intParam2, stringParam3)
我在客户端上得到NPE.myMethod调用如果我这样做
println client // mock for MyGroovyBasedHttpClient with hashcode
所以 100% 客户端被初始化而不是 NULL我什至断言模拟组件不是空的。我也在静态MyGroovyBasedHttpClient createClient()上有烟模拟客户端的烟雾检查确实返回我的自定义答案
如何调试此类问题?
上级:看起来这是我的问题:https://code.google.com/p/mockito/issues/detail?id=303
mockito和groovy存在问题,你需要额外的依赖,或者你可以只模拟接口。
欲了解更多信息,请访问:https://github.com/cyrusinnovation/mockito-groovy-support
问题 303 关于时髦类的模拟问题:https://code.google.com/p/mockito/issues/detail?id=303