Mockito不断拦截我在DAO中创建的函数并随机返回0.我希望函数能够真正运行。我在哪里可以配置这个mockito野兽来离开这个功能?什么是mockito,为什么它与我的JUNIT测试搞砸了?
调试器跳到这里,而不是进入我的春道:
public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy)
throws Throwable {
if (objectMethodsGuru.isEqualsMethod(method)) {
return proxy == args[0];
} else if (objectMethodsGuru.isHashCodeMethod(method)) {
return hashCodeForMock(proxy);
}
MockitoMethodProxy mockitoMethodProxy = createMockitoMethodProxy(methodProxy);
cglibHacker.setMockitoNamingPolicy(mockitoMethodProxy);
MockitoMethod mockitoMethod = createMockitoMethod(method);
FilteredCGLIBProxyRealMethod realMethod = new FilteredCGLIBProxyRealMethod(mockitoMethodProxy);
Invocation invocation = new Invocation(proxy, mockitoMethod, args, SequenceNumber.next(), realMethod);
return handler.handle(invocation);
}
欢迎您好笑,但首先请确保正确提出问题。我们需要查看测试方法,测试方法和执行结果(如果有的话)。当然,删除任何可能暴露业务逻辑的东西。 – 2012-03-19 15:17:07
该方法只是查询数据库,就像dao类中的任何其他方法。我的测试方法正在运行其他人对某个函数进行的Junit测试,该函数调用了mockit拦截的函数。我只想知道mockit是什么以及它从哪里配置。我不知道要添加什么代码,因为我不知道mockit是如何工作的以及在哪里配置的。 – ollo 2012-03-19 15:22:56
其实从看到代码我认为你正面临Mockito,http://code.google.com/p/mockito/,这是最好的Java嘲笑框架之一。我建议你学会爱它,因为它可以使你的生活(和你的测试)方式easiert。 – pushy 2012-03-19 16:42:04