我已经在this上阅读了类似的问题,但我无法解决我的问题。 我修改了现有的类,当我尝试使用ant构建它时,我得到以下单元测试失败错误:
java.lang.IllegalStateException:前面的方法调用getLast缺少行为定义(类mypackage.model.MyObj,1) 在org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:43) at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:73) at org.easymock.internal.ClassProxyFactory $ MockMethodInterceptor.intercept(ClassProxyFactory.java:92) at mypackage.service.MyService $$ EnhancerByCGLIB $$ 347f5838.getLast() at mypackage.controller.MyController.myControllerMethod(MyController.java:265) at mypackage.controller.MyController.myControllerMethodTest(MyControllerTest.java:207)
在MyController.java
我添加了一段代码(错误在第265行):
263. public void myControllerMethod(Integer id) {
264. String myString = null;
265. MyObj myObj = (MyObj) myService.getLast(MyObj.class, id);
266. try {
267. myString = myObj.getMyProp().getMyObj();
268. } catch (Exception e) {
269. myString = "";
270. }
MyControllerTest.java
只需拨打myControllerMethod
,就像:
207. myController.myControllerMethod(1);
我已经尝试过添加"期望"在第207行之前,如:
206. EasyMock.expect(myServiceMock.getLast(MyObj.class, 1));
而不是:
206. EasyMock.expect(myServiceMock.getLast(MyObj.class, 1)).andReturn(new MyObj());
但无济于事。 有人可以帮帮我吗?