Skip to content

Commit a66b72b

Browse files
author
eugenp
committed
initial testing work for mockito configuration of behavior
1 parent ae6082c commit a66b72b

2 files changed

Lines changed: 72 additions & 6 deletions

File tree

mockito/pom.xml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
<version>15.0</version>
1818
</dependency>
1919

20+
<dependency>
21+
<groupId>org.apache.commons</groupId>
22+
<artifactId>commons-lang3</artifactId>
23+
<version>${commons-lang3.version}</version>
24+
</dependency>
25+
2026
<!-- web -->
2127

2228
<!-- test scoped -->
@@ -73,12 +79,12 @@
7379

7480
<properties>
7581
<!-- Spring -->
76-
<org.springframework.version>3.2.4.RELEASE</org.springframework.version>
82+
<org.springframework.version>3.2.5.RELEASE</org.springframework.version>
7783
<org.springframework.security.version>3.1.4.RELEASE</org.springframework.security.version>
7884

7985
<!-- persistence -->
80-
<hibernate.version>4.2.4.Final</hibernate.version>
81-
<mysql-connector-java.version>5.1.26</mysql-connector-java.version>
86+
<hibernate.version>4.2.7.SP1</hibernate.version>
87+
<mysql-connector-java.version>5.1.27</mysql-connector-java.version>
8288

8389
<!-- logging -->
8490
<org.slf4j.version>1.7.5</org.slf4j.version>
@@ -96,14 +102,14 @@
96102
<junit.version>4.11</junit.version>
97103
<mockito.version>1.9.5</mockito.version>
98104

99-
<httpcore.version>4.2.4</httpcore.version>
100-
<httpclient.version>4.2.5</httpclient.version>
105+
<httpcore.version>4.2.5</httpcore.version>
106+
<httpclient.version>4.2.6</httpclient.version>
101107

102108
<rest-assured.version>1.8.1</rest-assured.version>
103109
<groovy.version>1.8.9</groovy.version>
104110

105111
<!-- Maven plugins -->
106-
<cargo-maven2-plugin.version>1.4.3</cargo-maven2-plugin.version>
112+
<cargo-maven2-plugin.version>1.4.5</cargo-maven2-plugin.version>
107113
<maven-surefire-plugin.version>2.16</maven-surefire-plugin.version>
108114
</properties>
109115

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package org.baeldung.mockito;
2+
3+
import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
4+
import static org.hamcrest.Matchers.is;
5+
import static org.junit.Assert.assertThat;
6+
import static org.mockito.Matchers.anyString;
7+
import static org.mockito.Mockito.doThrow;
8+
import static org.mockito.Mockito.when;
9+
10+
import org.junit.Test;
11+
import org.mockito.Mockito;
12+
13+
@SuppressWarnings("unchecked")
14+
public class MockitoConfigExamplesTest {
15+
16+
// tests
17+
18+
@Test
19+
public final void whenMockBehaviorIsConfigured_thenBehaviorIsVerified() {
20+
final MyList listMock = Mockito.mock(MyList.class);
21+
when(listMock.add(anyString())).thenReturn(false);
22+
23+
final boolean added = listMock.add(randomAlphabetic(6));
24+
assertThat(added, is(false));
25+
}
26+
27+
@Test(expected = IllegalStateException.class)
28+
public final void givenMethodIsConfiguredToThrowException_whenCallingMethod_thenExceptionIsThrown() {
29+
final MyList listMock = Mockito.mock(MyList.class);
30+
when(listMock.add(anyString())).thenThrow(IllegalStateException.class);
31+
32+
listMock.add(randomAlphabetic(6));
33+
}
34+
35+
@Test(expected = NullPointerException.class)
36+
public final void whenMethodHasNoReturnType_whenConfiguringBehaviorOfMethod_thenPossible() {
37+
final MyList listMock = Mockito.mock(MyList.class);
38+
doThrow(NullPointerException.class).when(listMock).clear();
39+
40+
listMock.clear();
41+
}
42+
43+
@Test
44+
public final void givenBehaviorIsConfiguredToThrowExceptionOnSecondCall_whenCallingOnlyOnce_thenNoExceptionIsThrown() {
45+
final MyList listMock = Mockito.mock(MyList.class);
46+
when(listMock.add(anyString())).thenReturn(false).thenThrow(IllegalStateException.class);
47+
48+
listMock.add(randomAlphabetic(6));
49+
}
50+
51+
@Test(expected = IllegalStateException.class)
52+
public final void givenBehaviorIsConfiguredToThrowExceptionOnSecondCall_whenCallingTwice_thenExceptionIsThrown() {
53+
final MyList listMock = Mockito.mock(MyList.class);
54+
when(listMock.add(anyString())).thenReturn(false).thenThrow(IllegalStateException.class);
55+
56+
listMock.add(randomAlphabetic(6));
57+
listMock.add(randomAlphabetic(6));
58+
}
59+
60+
}

0 commit comments

Comments
 (0)