2011-06-26 56 views
0

我对EasyMock来说相当新颖。我正在尝试为我的Spring WS Endpoint编写一个EasyMock测试,并继续遇到问题。详情如下所列:EasyMock - 模拟对象的期望

端点:

​​

测试:

@Before<BR> 
    public void setUp() throws JDOMException {<BR> 
     xPath = createNiceMock(XPath.class);<BR> 
     payload = createNiceMock(Element.class);<BR> 
     managementService = createStrictMock(UserManagementService.class);<BR> 

     serviceEndpoint = new UserManagementServiceEndpoint(managementService); 
    } 
@Test 
    public void testUserCreationHandler() throws JDOMException { 

     expect(xPath.valueOf(payload)).andReturn("userName"); 
     expect(xPath.valueOf(payload)).andReturn("loginName"); 
     expect(xPath.valueOf(payload)).andReturn("eMail"); 
     expect(xPath.valueOf(payload)).andReturn("region"); 
     expect(xPath.valueOf(payload)).andReturn("department"); 
     expect(xPath.valueOf(payload)).andReturn("businessUnit"); 
     managementService.userCreate("userName", "loginName", "eMail", 
       "region", "department", "businessUnit"); 
     expectLastCall(); 
     replayAll(); 

     serviceEndpoint.handleUserCreationRequest(payload); 
     verifyAll(); 
    } 

错误消息:

Failed tests: 
    testUserCreationHandler(com.xxx.usermanagement.endpoint.UserManagementServiceEndpoint 
Test): 
    Expectation failure on verify: 
    valueOf(EasyMock for class org.jdom.Element): expected: 6, actual: 0 

Tests run: 1, Failures: 1, Errors: 0, Skipped: 0<BR><BR> 

竟被我如果有人能帮助我,请欣赏。提前致谢。

回答

1

您在这里遇到的问题是您的XPath模拟对象未设置为您的UserManagementServiceEndpoint对象。 您应该修改构造函数以接受XPath参数或为其创建setter。