From 5dffa1931f004a13ec8e0f36dac2bed86d51e022 Mon Sep 17 00:00:00 2001 From: Thai Nguyen Date: Wed, 27 Apr 2016 20:53:57 +0700 Subject: [PATCH 1/2] initial commit for mockito mock methods --- .../org/baeldung/mockito/MockitoMockTest.java | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java diff --git a/mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java b/mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java new file mode 100644 index 0000000000..24f1f991de --- /dev/null +++ b/mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java @@ -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 { + @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)); + } +} \ No newline at end of file From 174e058cd05bf72067b22b93cca94c6b8908494e Mon Sep 17 00:00:00 2001 From: David Morley Date: Wed, 4 May 2016 05:45:28 -0500 Subject: [PATCH 2/2] Examples for Mockito's Mock Methods --- .../src/test/java/org/baeldung/mockito/MockitoMockTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java b/mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java index 24f1f991de..5a1996fa97 100644 --- a/mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java +++ b/mockito/src/test/java/org/baeldung/mockito/MockitoMockTest.java @@ -15,7 +15,8 @@ import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; public class MockitoMockTest { - static class CustomAnswer implements Answer { + + private static class CustomAnswer implements Answer { @Override public Boolean answer(InvocationOnMock invocation) throws Throwable { return false;