BAEL-373: Improve/Upgrade existing Mockito articles to Mockito 2 (#2311)
* BAEL-373: Improve/Upgrade existing Mockito articles to Mockito 2 * Fix formatting issue with LoginControllerIntegrationTest
This commit is contained in:
parent
9f45d709db
commit
f445a4d11b
@ -408,7 +408,7 @@
|
|||||||
<!-- testing -->
|
<!-- testing -->
|
||||||
<org.hamcrest.version>1.3</org.hamcrest.version>
|
<org.hamcrest.version>1.3</org.hamcrest.version>
|
||||||
<junit.version>4.12</junit.version>
|
<junit.version>4.12</junit.version>
|
||||||
<mockito.version>1.10.19</mockito.version>
|
<mockito.version>2.8.9</mockito.version>
|
||||||
<assertj.version>3.6.1</assertj.version>
|
<assertj.version>3.6.1</assertj.version>
|
||||||
<avaitility.version>1.7.0</avaitility.version>
|
<avaitility.version>1.7.0</avaitility.version>
|
||||||
|
|
||||||
|
@ -63,6 +63,6 @@ public class MappedByteBufferUnitTest {
|
|||||||
|
|
||||||
private Path getFileURIFromResources(String fileName) throws Exception {
|
private Path getFileURIFromResources(String fileName) throws Exception {
|
||||||
ClassLoader classLoader = getClass().getClassLoader();
|
ClassLoader classLoader = getClass().getClassLoader();
|
||||||
return Paths.get(classLoader.getResource(fileName).getPath());
|
return Paths.get(classLoader.getResource(fileName).toURI());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -179,7 +179,7 @@ public class JavaMoneyUnitTest {
|
|||||||
MonetaryAmountFormat customFormat = MonetaryFormats.getAmountFormat(AmountFormatQueryBuilder
|
MonetaryAmountFormat customFormat = MonetaryFormats.getAmountFormat(AmountFormatQueryBuilder
|
||||||
.of(Locale.US)
|
.of(Locale.US)
|
||||||
.set(CurrencyStyle.NAME)
|
.set(CurrencyStyle.NAME)
|
||||||
.set("pattern", "00000.00 ¤")
|
.set("pattern", "00000.00 ¤")
|
||||||
.build());
|
.build());
|
||||||
String customFormatted = customFormat.format(oneDollar);
|
String customFormatted = customFormat.format(oneDollar);
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ import java.io.FileInputStream;
|
|||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -105,6 +106,7 @@ public class JavaScannerUnitTest {
|
|||||||
public void whenScanString_thenCorrect() throws IOException {
|
public void whenScanString_thenCorrect() throws IOException {
|
||||||
final String input = "Hello 1 F 3.5";
|
final String input = "Hello 1 F 3.5";
|
||||||
final Scanner scanner = new Scanner(input);
|
final Scanner scanner = new Scanner(input);
|
||||||
|
scanner.useLocale(Locale.US);
|
||||||
|
|
||||||
assertEquals("Hello", scanner.next());
|
assertEquals("Hello", scanner.next());
|
||||||
assertEquals(1, scanner.nextInt());
|
assertEquals(1, scanner.nextInt());
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.powermock</groupId>
|
<groupId>org.powermock</groupId>
|
||||||
<artifactId>powermock-api-mockito</artifactId>
|
<artifactId>powermock-api-mockito2</artifactId>
|
||||||
<version>${powermock.version}</version>
|
<version>${powermock.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
@ -65,7 +65,7 @@
|
|||||||
<commons-lang3.version>3.5</commons-lang3.version>
|
<commons-lang3.version>3.5</commons-lang3.version>
|
||||||
|
|
||||||
<!-- testing -->
|
<!-- testing -->
|
||||||
<powermock.version>1.6.6</powermock.version>
|
<powermock.version>1.7.0</powermock.version>
|
||||||
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
@ -53,6 +53,6 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
|
||||||
<!-- testing -->
|
<!-- testing -->
|
||||||
<mockito.version>2.7.5</mockito.version>
|
<mockito.version>2.8.9</mockito.version>
|
||||||
</properties>
|
</properties>
|
||||||
</project>
|
</project>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<name>mock-comparisons</name>
|
<name>mock-comparisons</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<mockito.version>1.10.19</mockito.version>
|
<mockito.version>2.8.9</mockito.version>
|
||||||
<easymock.version>3.4</easymock.version>
|
<easymock.version>3.4</easymock.version>
|
||||||
<jmockit.version>1.29</jmockit.version>
|
<jmockit.version>1.29</jmockit.version>
|
||||||
|
|
||||||
|
@ -7,7 +7,12 @@ import org.baeldung.mocks.testCase.UserForm;
|
|||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.mockito.*;
|
import org.mockito.ArgumentMatcher;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.mockito.MockitoAnnotations;
|
||||||
|
import org.mockito.Spy;
|
||||||
|
|
||||||
public class LoginControllerIntegrationTest {
|
public class LoginControllerIntegrationTest {
|
||||||
|
|
||||||
@ -41,50 +46,63 @@ public class LoginControllerIntegrationTest {
|
|||||||
public void assertTwoMethodsHaveBeenCalled() {
|
public void assertTwoMethodsHaveBeenCalled() {
|
||||||
UserForm userForm = new UserForm();
|
UserForm userForm = new UserForm();
|
||||||
userForm.username = "foo";
|
userForm.username = "foo";
|
||||||
Mockito.when(loginService.login(userForm)).thenReturn(true);
|
Mockito.when(loginService.login(userForm))
|
||||||
|
.thenReturn(true);
|
||||||
|
|
||||||
String login = loginController.login(userForm);
|
String login = loginController.login(userForm);
|
||||||
|
|
||||||
Assert.assertEquals("OK", login);
|
Assert.assertEquals("OK", login);
|
||||||
Mockito.verify(loginService).login(userForm);
|
Mockito.verify(loginService)
|
||||||
Mockito.verify(loginService).setCurrentUser("foo");
|
.login(userForm);
|
||||||
|
Mockito.verify(loginService)
|
||||||
|
.setCurrentUser("foo");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void assertOnlyOneMethodHasBeenCalled() {
|
public void assertOnlyOneMethodHasBeenCalled() {
|
||||||
UserForm userForm = new UserForm();
|
UserForm userForm = new UserForm();
|
||||||
userForm.username = "foo";
|
userForm.username = "foo";
|
||||||
Mockito.when(loginService.login(userForm)).thenReturn(false);
|
Mockito.when(loginService.login(userForm))
|
||||||
|
.thenReturn(false);
|
||||||
|
|
||||||
String login = loginController.login(userForm);
|
String login = loginController.login(userForm);
|
||||||
|
|
||||||
Assert.assertEquals("KO", login);
|
Assert.assertEquals("KO", login);
|
||||||
Mockito.verify(loginService).login(userForm);
|
Mockito.verify(loginService)
|
||||||
|
.login(userForm);
|
||||||
Mockito.verifyNoMoreInteractions(loginService);
|
Mockito.verifyNoMoreInteractions(loginService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void mockExceptionThrowing() {
|
public void mockExceptionThrowing() {
|
||||||
UserForm userForm = new UserForm();
|
UserForm userForm = new UserForm();
|
||||||
Mockito.when(loginService.login(userForm)).thenThrow(IllegalArgumentException.class);
|
Mockito.when(loginService.login(userForm))
|
||||||
|
.thenThrow(IllegalArgumentException.class);
|
||||||
|
|
||||||
String login = loginController.login(userForm);
|
String login = loginController.login(userForm);
|
||||||
|
|
||||||
Assert.assertEquals("ERROR", login);
|
Assert.assertEquals("ERROR", login);
|
||||||
Mockito.verify(loginService).login(userForm);
|
Mockito.verify(loginService)
|
||||||
|
.login(userForm);
|
||||||
Mockito.verifyZeroInteractions(loginService);
|
Mockito.verifyZeroInteractions(loginService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void mockAnObjectToPassAround() {
|
public void mockAnObjectToPassAround() {
|
||||||
UserForm userForm = Mockito.when(Mockito.mock(UserForm.class).getUsername()).thenReturn("foo").getMock();
|
UserForm userForm = Mockito.when(Mockito.mock(UserForm.class)
|
||||||
Mockito.when(loginService.login(userForm)).thenReturn(true);
|
.getUsername())
|
||||||
|
.thenReturn("foo")
|
||||||
|
.getMock();
|
||||||
|
Mockito.when(loginService.login(userForm))
|
||||||
|
.thenReturn(true);
|
||||||
|
|
||||||
String login = loginController.login(userForm);
|
String login = loginController.login(userForm);
|
||||||
|
|
||||||
Assert.assertEquals("OK", login);
|
Assert.assertEquals("OK", login);
|
||||||
Mockito.verify(loginService).login(userForm);
|
Mockito.verify(loginService)
|
||||||
Mockito.verify(loginService).setCurrentUser("foo");
|
.login(userForm);
|
||||||
|
Mockito.verify(loginService)
|
||||||
|
.setCurrentUser("foo");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -92,17 +110,20 @@ public class LoginControllerIntegrationTest {
|
|||||||
UserForm userForm = new UserForm();
|
UserForm userForm = new UserForm();
|
||||||
userForm.username = "foo";
|
userForm.username = "foo";
|
||||||
// default matcher
|
// default matcher
|
||||||
Mockito.when(loginService.login(Mockito.any(UserForm.class))).thenReturn(true);
|
Mockito.when(loginService.login(Mockito.any(UserForm.class)))
|
||||||
|
.thenReturn(true);
|
||||||
|
|
||||||
String login = loginController.login(userForm);
|
String login = loginController.login(userForm);
|
||||||
|
|
||||||
Assert.assertEquals("OK", login);
|
Assert.assertEquals("OK", login);
|
||||||
Mockito.verify(loginService).login(userForm);
|
Mockito.verify(loginService)
|
||||||
|
.login(userForm);
|
||||||
// complex matcher
|
// complex matcher
|
||||||
Mockito.verify(loginService).setCurrentUser(Mockito.argThat(new ArgumentMatcher<String>() {
|
Mockito.verify(loginService)
|
||||||
|
.setCurrentUser(Mockito.argThat(new ArgumentMatcher<String>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean matches(Object argument) {
|
public boolean matches(String argument) {
|
||||||
return argument instanceof String && ((String) argument).startsWith("foo");
|
return argument.startsWith("foo");
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -114,12 +135,14 @@ public class LoginControllerIntegrationTest {
|
|||||||
UserForm userForm = new UserForm();
|
UserForm userForm = new UserForm();
|
||||||
userForm.username = "foo";
|
userForm.username = "foo";
|
||||||
// let service's login use implementation so let's mock DAO call
|
// let service's login use implementation so let's mock DAO call
|
||||||
Mockito.when(loginDao.login(userForm)).thenReturn(1);
|
Mockito.when(loginDao.login(userForm))
|
||||||
|
.thenReturn(1);
|
||||||
|
|
||||||
String login = loginController.login(userForm);
|
String login = loginController.login(userForm);
|
||||||
|
|
||||||
Assert.assertEquals("OK", login);
|
Assert.assertEquals("OK", login);
|
||||||
// verify mocked call
|
// verify mocked call
|
||||||
Mockito.verify(spiedLoginService).setCurrentUser("foo");
|
Mockito.verify(spiedLoginService)
|
||||||
|
.setCurrentUser("foo");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
pom.xml
2
pom.xml
@ -18,7 +18,7 @@
|
|||||||
<!-- <gib.enabled>false</gib.enabled>-->
|
<!-- <gib.enabled>false</gib.enabled>-->
|
||||||
<junit.version>4.12</junit.version>
|
<junit.version>4.12</junit.version>
|
||||||
<org.hamcrest.version>1.3</org.hamcrest.version>
|
<org.hamcrest.version>1.3</org.hamcrest.version>
|
||||||
<mockito.version>1.10.19</mockito.version>
|
<mockito.version>2.8.9</mockito.version>
|
||||||
<!-- logging -->
|
<!-- logging -->
|
||||||
<org.slf4j.version>1.7.21</org.slf4j.version>
|
<org.slf4j.version>1.7.21</org.slf4j.version>
|
||||||
<logback.version>1.1.7</logback.version>
|
<logback.version>1.1.7</logback.version>
|
||||||
|
@ -164,7 +164,7 @@
|
|||||||
<commons-io.version>2.5</commons-io.version>
|
<commons-io.version>2.5</commons-io.version>
|
||||||
|
|
||||||
<!-- testing -->
|
<!-- testing -->
|
||||||
<mockito.version>2.2.26</mockito.version>
|
<mockito.version>2.8.9</mockito.version>
|
||||||
|
|
||||||
<httpcore.version>4.4.1</httpcore.version>
|
<httpcore.version>4.4.1</httpcore.version>
|
||||||
<httpclient.version>4.5</httpclient.version>
|
<httpclient.version>4.5</httpclient.version>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user