Skip to content

Instantly share code, notes, and snippets.

@neomatrix369
Created April 16, 2014 22:58
Show Gist options
  • Save neomatrix369/10940661 to your computer and use it in GitHub Desktop.
Save neomatrix369/10940661 to your computer and use it in GitHub Desktop.
Parameterized Mocks example
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class ParameterizedMocks {
@Mock
private UserService userService;
@Mock
private UserManager userManager;
@Test
public void testCountNumberOfInteractions() throws Exception {
// Given
String[] userNames = {"",
"user1",
"user2"};
User[] users = { null,
new User("user1"),
new User("user2")
};
// When...Then
int index = 0;
while (index < userNames.length) {
String eachUsername = userNames[index];
User eachUser = users[index];
performFindUserSanityCheck(eachUsername, eachUser);
index++;
}
}
private void performFindUserSanityCheck(String userName, User expectedUser) {
User user = userManager.findUser(userName);
//Verify the number of interactions with mock
Mockito.verify(userService, Mockito.times(1)).findUserByName(userName);
//There was only one interaction with userService
Mockito.verifyNoMoreInteractions(userService);
//assertThat(user, is(equalTo(expectedUser)));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment