2013-03-08 2 views
0

В моем модульном тесте для метода DAO я пытаюсь протестировать метод пользователя обновления. Но я должен создать пользователя, а затем обновить его. Так что мой фиктивный DAO ожидает вызова AddUser, но потом, когда я, вызов метода обновления он жалуясьEasyMock, вызывающий два метода DAO - Неожиданный вызов метода UserAdminDAO.updateUser

java.lang.AssertionError: Неожиданное UserAdminDAO.updateUser вызов метода (нуль):

здесь код Snipper

expect(userAdminDAO.addNewUser(u1)).andReturn(u1); 
    replay(userAdminDAO); 

    User u2 = (User)userService.addNewUser(ar); 
    Assert.assertEquals(u.getUserName(), u2.getUserName()); 

    u2.setUserName("new modified"); 
userAdminDAO.updateUser(u2); //error is on this line 
    expectLastCall().once().andAnswer(new IAnswer<User>() { 
     public User answer() { 
      return null; 
     } 
    }); 
    replay(userAdminDAO); 
    userService.updateUser(u2); 

ответ

1

Вы прокручивал макет перед добавлением второго ожидания:

expect(userAdminDAO.addNewUser(u1)).andReturn(u1); 
replay(userAdminDAO); // you shouldn't do this 
... 
userAdminDAO.updateUser(u2); 
+0

, который работал Благодарения и – mi3

Смежные вопросы