modifying partialMocking()
This commit is contained in:
parent
fd69ba1589
commit
9873c70dc4
@ -130,30 +130,36 @@ public class LoginControllerIntegrationTest {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void partialMocking() {
|
public void partialMocking() {
|
||||||
// use partial mock
|
|
||||||
final LoginService partialLoginService = new LoginService();
|
LoginService partialLoginService = new LoginService();
|
||||||
partialLoginService.setLoginDao(loginDao);
|
partialLoginService.setLoginDao(loginDao);
|
||||||
loginController.loginService = partialLoginService;
|
loginController.loginService = partialLoginService;
|
||||||
|
|
||||||
final UserForm userForm = new UserForm();
|
UserForm userForm = new UserForm();
|
||||||
userForm.username = "foo";
|
userForm.username = "foo";
|
||||||
// let service's login use implementation so let's mock DAO call
|
|
||||||
new Expectations() {{
|
new Expectations(partialLoginService) {{
|
||||||
loginDao.login(userForm);
|
//let's mock loginDao#login() call
|
||||||
result = 1;
|
loginDao.login(userForm); result = 1;
|
||||||
// no expectation for loginService.login
|
|
||||||
|
//no expectation for partialLoginService#login() so that real implementation is used
|
||||||
|
|
||||||
|
//mocking partialLoginService#setCurrentUser()
|
||||||
partialLoginService.setCurrentUser("foo");
|
partialLoginService.setCurrentUser("foo");
|
||||||
}};
|
}};
|
||||||
|
|
||||||
String login = loginController.login(userForm);
|
String login = loginController.login(userForm);
|
||||||
|
|
||||||
Assert.assertEquals("OK", login);
|
Assert.assertEquals("OK", login);
|
||||||
// verify mocked call
|
// verify that mocked partialLoginService#setCurrentUser("foo") is called
|
||||||
new FullVerifications(partialLoginService) {
|
new Verifications() {
|
||||||
};
|
{
|
||||||
new FullVerifications(loginDao) {
|
partialLoginService.setCurrentUser("foo");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user