Skip to content

Commit 6ed9372

Browse files
author
eugenp
committed
mockito further examples
1 parent a66b72b commit 6ed9372

File tree

2 files changed

+55
-10
lines changed

2 files changed

+55
-10
lines changed

mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesTest.java

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,43 @@
11
package org.baeldung.mockito;
22

33
import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
4+
import static org.hamcrest.Matchers.equalTo;
45
import static org.hamcrest.Matchers.is;
56
import static org.junit.Assert.assertThat;
7+
import static org.mockito.Matchers.anyInt;
68
import static org.mockito.Matchers.anyString;
9+
import static org.mockito.Mockito.doAnswer;
10+
import static org.mockito.Mockito.doReturn;
711
import static org.mockito.Mockito.doThrow;
812
import static org.mockito.Mockito.when;
913

1014
import org.junit.Test;
1115
import org.mockito.Mockito;
16+
import org.mockito.invocation.InvocationOnMock;
17+
import org.mockito.stubbing.Answer;
1218

13-
@SuppressWarnings("unchecked")
1419
public class MockitoConfigExamplesTest {
1520

1621
// tests
1722

1823
@Test
19-
public final void whenMockBehaviorIsConfigured_thenBehaviorIsVerified() {
24+
public final void whenMockReturnBehaviorIsConfigured_thenBehaviorIsVerified() {
2025
final MyList listMock = Mockito.mock(MyList.class);
2126
when(listMock.add(anyString())).thenReturn(false);
2227

2328
final boolean added = listMock.add(randomAlphabetic(6));
2429
assertThat(added, is(false));
2530
}
2631

32+
@Test
33+
public final void whenMockReturnBehaviorIsConfigured2_thenBehaviorIsVerified() {
34+
final MyList listMock = Mockito.mock(MyList.class);
35+
doReturn(false).when(listMock).add(anyString());
36+
37+
final boolean added = listMock.add(randomAlphabetic(6));
38+
assertThat(added, is(false));
39+
}
40+
2741
@Test(expected = IllegalStateException.class)
2842
public final void givenMethodIsConfiguredToThrowException_whenCallingMethod_thenExceptionIsThrown() {
2943
final MyList listMock = Mockito.mock(MyList.class);
@@ -57,4 +71,35 @@ public final void givenBehaviorIsConfiguredToThrowExceptionOnSecondCall_whenCall
5771
listMock.add(randomAlphabetic(6));
5872
}
5973

74+
@Test
75+
public final void whenMockMethodCallIsConfiguredToCallTheRealMethod_thenRealMetehodIsCalled() {
76+
final MyList listMock = Mockito.mock(MyList.class);
77+
when(listMock.size()).thenCallRealMethod();
78+
79+
assertThat(listMock.size(), equalTo(1));
80+
}
81+
82+
@Test
83+
public final void whenMockMethodCallIsConfiguredWithCustomAnswer_thenRealMetehodIsCalled() {
84+
final MyList listMock = Mockito.mock(MyList.class);
85+
doAnswer(new Answer<String>() {
86+
@Override
87+
public final String answer(final InvocationOnMock invocation) {
88+
return "Always the same";
89+
}
90+
}).when(listMock).get(anyInt());
91+
92+
final String element = listMock.get(1);
93+
assertThat(element, is(equalTo("Always the same")));
94+
}
95+
96+
@Test(expected = NullPointerException.class)
97+
public final void givenSpy_whenConfiguringBehaviorOfSpy_thenCorrectlyConfigured() {
98+
final MyList instance = new MyList();
99+
final MyList spy = Mockito.spy(instance);
100+
101+
doThrow(NullPointerException.class).when(spy).size();
102+
spy.size();
103+
}
104+
60105
}

mockito/src/test/java/org/baeldung/mockito/MyList.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
public class MyList extends AbstractList<String> {
66

7-
@Override
8-
public String get(final int index) {
9-
return null;
10-
}
7+
@Override
8+
public String get(final int index) {
9+
return null;
10+
}
1111

12-
@Override
13-
public int size() {
14-
return 0;
15-
}
12+
@Override
13+
public int size() {
14+
return 1;
15+
}
1616

1717
}

0 commit comments

Comments
 (0)