我是EasyMock的新手,现在被困住了。 我不能设置模拟对象的字段吗? 我哪里错了?任何帮助都会非常感激。
IService service = EasyMock.createMock(IService.class);
service.setName("abc");
EasyMock.replay(service);
org.junit.Assert.assertEquals("abc", service.getName());
EasyMock.verify(service);
java.lang.AssertionError:
Unexpected method call getName():
setName("abc"): expected: 1, actual: 0
at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:45)
at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:73)
at org.easymock.internal.ClassProxyFactory$MockMethodInterceptor.intercept(ClassProxyFactory.java:92)
答案 0 :(得分:3)
我能够使用EasyMock的expect(..)设置字段。
删除此行代码
service.setName("abc");
并添加
EasyMock.expect(service.getName()).andReturn("abc");