initial commit for mockito mock methods
This commit is contained in:
		
							parent
							
								
									29deacf3b9
								
							
						
					
					
						commit
						5dffa1931f
					
				| @ -0,0 +1,68 @@ | ||||
| package org.baeldung.mockito; | ||||
| 
 | ||||
| import static org.mockito.Mockito.*; | ||||
| import static org.junit.Assert.assertThat; | ||||
| import static org.hamcrest.Matchers.is; | ||||
| import static org.hamcrest.Matchers.containsString; | ||||
| import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; | ||||
| 
 | ||||
| import org.junit.Test; | ||||
| import org.junit.Rule; | ||||
| import org.junit.rules.ExpectedException; | ||||
| import org.mockito.MockSettings; | ||||
| import org.mockito.exceptions.verification.TooLittleActualInvocations; | ||||
| import org.mockito.invocation.InvocationOnMock; | ||||
| import org.mockito.stubbing.Answer; | ||||
| 
 | ||||
| public class MockitoMockTest { | ||||
|     static class CustomAnswer implements Answer<Boolean> { | ||||
|         @Override | ||||
|         public Boolean answer(InvocationOnMock invocation) throws Throwable { | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Rule | ||||
|     public ExpectedException thrown = ExpectedException.none(); | ||||
| 
 | ||||
|     @Test | ||||
|     public void whenUsingSimpleMock_thenCorrect() { | ||||
|         MyList listMock = mock(MyList.class); | ||||
|         when(listMock.add(anyString())).thenReturn(false); | ||||
|         boolean added = listMock.add(randomAlphabetic(6)); | ||||
| 
 | ||||
|         verify(listMock).add(anyString()); | ||||
|         assertThat(added, is(false)); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void whenUsingMockWithName_thenCorrect() { | ||||
|         MyList listMock = mock(MyList.class, "myMock"); | ||||
|         when(listMock.add(anyString())).thenReturn(false); | ||||
|         listMock.add(randomAlphabetic(6)); | ||||
|          | ||||
|         thrown.expect(TooLittleActualInvocations.class); | ||||
|         thrown.expectMessage(containsString("myMock.add")); | ||||
| 
 | ||||
|         verify(listMock, times(2)).add(anyString()); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void whenUsingMockWithAnswer_thenCorrect() { | ||||
|         MyList listMock = mock(MyList.class, new CustomAnswer()); | ||||
|         boolean added = listMock.add(randomAlphabetic(6)); | ||||
| 
 | ||||
|         verify(listMock).add(anyString()); | ||||
|         assertThat(added, is(false)); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void whenUsingMockWithSettings_thenCorrect() { | ||||
|         MockSettings customSettings = withSettings().defaultAnswer(new CustomAnswer()); | ||||
|         MyList listMock = mock(MyList.class, customSettings); | ||||
|         boolean added = listMock.add(randomAlphabetic(6)); | ||||
| 
 | ||||
|         verify(listMock).add(anyString()); | ||||
|         assertThat(added, is(false)); | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user