EasyMock - ожидание смоделированного объекта - PullRequest
0 голосов
/ 26 июня 2011

Я довольно новичок в EasyMock.Я пытаюсь написать тест EasyMock для моей конечной точки Spring WS и продолжаю сталкиваться с проблемой.Подробности перечислены ниже:

Конечная точка:

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "UserCreate")<BR>
public void handleUserCreationRequest(@RequestPayload Element userCreate) throws JDOMException {

        String userName = userNameExp.valueOf(userCreate);
        String loginName = userLoginNameExp.valueOf(userCreate);
        String eMail = eMailExp.valueOf(userCreate);
        String region = regionExp.valueOf(userCreate);
        String department = departmentExp.valueOf(userCreate);
        String businessUnit = businessUnitExp.valueOf(userCreate);

        userManagementService.userCreate(userName, loginName, eMail, 
                region, department, businessUnit);
    }

Тест:

@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 Ответ

1 голос
/ 29 июня 2011

Проблема, с которой вы столкнулись, заключается в том, что ваш фиктивный объект XPath не установлен на ваш объект UserManagementServiceEndpoint.Вам следует либо изменить конструктор, чтобы он принимал параметр XPath, либо создать для него установщик.

...