diff --git a/mockito/pom.xml b/mockito/pom.xml index e5e2c604ab..39ae7cc94a 100644 --- a/mockito/pom.xml +++ b/mockito/pom.xml @@ -17,6 +17,12 @@ 15.0 + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + @@ -73,12 +79,12 @@ - 3.2.4.RELEASE + 3.2.5.RELEASE 3.1.4.RELEASE - 4.2.4.Final - 5.1.26 + 4.2.7.SP1 + 5.1.27 1.7.5 @@ -96,14 +102,14 @@ 4.11 1.9.5 - 4.2.4 - 4.2.5 + 4.2.5 + 4.2.6 1.8.1 1.8.9 - 1.4.3 + 1.4.5 2.16 diff --git a/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesTest.java b/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesTest.java new file mode 100644 index 0000000000..7861741a79 --- /dev/null +++ b/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesTest.java @@ -0,0 +1,60 @@ +package org.baeldung.mockito; + +import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.when; + +import org.junit.Test; +import org.mockito.Mockito; + +@SuppressWarnings("unchecked") +public class MockitoConfigExamplesTest { + + // tests + + @Test + public final void whenMockBehaviorIsConfigured_thenBehaviorIsVerified() { + final MyList listMock = Mockito.mock(MyList.class); + when(listMock.add(anyString())).thenReturn(false); + + final boolean added = listMock.add(randomAlphabetic(6)); + assertThat(added, is(false)); + } + + @Test(expected = IllegalStateException.class) + public final void givenMethodIsConfiguredToThrowException_whenCallingMethod_thenExceptionIsThrown() { + final MyList listMock = Mockito.mock(MyList.class); + when(listMock.add(anyString())).thenThrow(IllegalStateException.class); + + listMock.add(randomAlphabetic(6)); + } + + @Test(expected = NullPointerException.class) + public final void whenMethodHasNoReturnType_whenConfiguringBehaviorOfMethod_thenPossible() { + final MyList listMock = Mockito.mock(MyList.class); + doThrow(NullPointerException.class).when(listMock).clear(); + + listMock.clear(); + } + + @Test + public final void givenBehaviorIsConfiguredToThrowExceptionOnSecondCall_whenCallingOnlyOnce_thenNoExceptionIsThrown() { + final MyList listMock = Mockito.mock(MyList.class); + when(listMock.add(anyString())).thenReturn(false).thenThrow(IllegalStateException.class); + + listMock.add(randomAlphabetic(6)); + } + + @Test(expected = IllegalStateException.class) + public final void givenBehaviorIsConfiguredToThrowExceptionOnSecondCall_whenCallingTwice_thenExceptionIsThrown() { + final MyList listMock = Mockito.mock(MyList.class); + when(listMock.add(anyString())).thenReturn(false).thenThrow(IllegalStateException.class); + + listMock.add(randomAlphabetic(6)); + listMock.add(randomAlphabetic(6)); + } + +}