Mockito不断拦截我在DAO中创建的一个函数,并随机返回0。我希望函数能够实际运行。我在哪里可以配置这个mockito野兽,让它不用管函数?
调试器跳到这里,而不是进入我的春季dao:
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);
}
莫基托是什么?
MockIto(和我回答最初问题时的JMockIt)是模拟API,它们允许开发人员编写与应用程序的其他部分或其他外部资源(如数据库)隔离的测试。
为什么它搞砸了我的JUNIT测试?
正如那些编写测试的人一样,他们决定不希望这个测试进入数据库。所以他们用mockito来防止这种情况发生。
我在哪里可以配置这个mockito野兽,让它不用管函数?
找到编写此测试(或当前测试所基于的测试)的开发人员。与他们一起理解嘲讽框架。