[JAVA-134] Renamed powermockito module to powermock
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package com.baeldung.powermockito.introduction;
|
||||
|
||||
class CollaboratorForPartialMocking {
|
||||
|
||||
static String staticMethod() {
|
||||
return "Hello Baeldung!";
|
||||
}
|
||||
|
||||
final String finalMethod() {
|
||||
return "Hello Baeldung!";
|
||||
}
|
||||
|
||||
private String privateMethod() {
|
||||
return "Hello Baeldung!";
|
||||
}
|
||||
|
||||
String privateMethodCaller() {
|
||||
return privateMethod() + " Welcome to the Java world.";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.baeldung.powermockito.introduction;
|
||||
|
||||
class CollaboratorWithFinalMethods {
|
||||
|
||||
final String helloMethod() {
|
||||
return "Hello World!";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.baeldung.powermockito.introduction;
|
||||
|
||||
class CollaboratorWithStaticMethods {
|
||||
|
||||
static String firstMethod(String name) {
|
||||
return "Hello " + name + " !";
|
||||
}
|
||||
|
||||
static String secondMethod() {
|
||||
return "Hello no one!";
|
||||
}
|
||||
|
||||
static String thirdMethod() {
|
||||
return "Hello no one again!";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.baeldung.powermockito.introduction;
|
||||
|
||||
class LuckyNumberGenerator {
|
||||
|
||||
public int getLuckyNumber(String name) {
|
||||
|
||||
saveIntoDatabase(name);
|
||||
|
||||
if (name == null) {
|
||||
return getDefaultLuckyNumber();
|
||||
}
|
||||
|
||||
return getComputedLuckyNumber(name.length());
|
||||
}
|
||||
|
||||
private void saveIntoDatabase(String name) {
|
||||
// Save the name into the database
|
||||
}
|
||||
|
||||
private int getDefaultLuckyNumber() {
|
||||
return 100;
|
||||
}
|
||||
|
||||
private int getComputedLuckyNumber(int length) {
|
||||
return length < 5 ? 5 : 10000;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.baeldung.powermockito.introduction;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.powermock.api.mockito.PowerMockito.doReturn;
|
||||
import static org.powermock.api.mockito.PowerMockito.spy;
|
||||
import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
|
||||
import static org.powermock.api.mockito.PowerMockito.when;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentMatchers;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest(fullyQualifiedNames = "com.baeldung.powermockito.introduction.LuckyNumberGenerator")
|
||||
public class LuckyNumberGeneratorUnitTest {
|
||||
|
||||
@Test
|
||||
public final void givenPrivateMethodWithReturn_whenUsingPowerMockito_thenCorrect() throws Exception {
|
||||
LuckyNumberGenerator mock = spy(new LuckyNumberGenerator());
|
||||
|
||||
when(mock, "getDefaultLuckyNumber").thenReturn(300);
|
||||
|
||||
int result = mock.getLuckyNumber(null);
|
||||
|
||||
assertEquals(300, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenPrivateMethodWithArgumentAndReturn_whenUsingPowerMockito_thenCorrect() throws Exception {
|
||||
LuckyNumberGenerator mock = spy(new LuckyNumberGenerator());
|
||||
|
||||
doReturn(1).when(mock, "getComputedLuckyNumber", ArgumentMatchers.anyInt());
|
||||
|
||||
int result = mock.getLuckyNumber("Jack");
|
||||
|
||||
assertEquals(1, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenPrivateMethodWithNoArgumentAndReturn_whenUsingPowerMockito_thenCorrect() throws Exception {
|
||||
LuckyNumberGenerator mock = spy(new LuckyNumberGenerator());
|
||||
|
||||
int result = mock.getLuckyNumber("Tyranosorous");
|
||||
|
||||
verifyPrivate(mock).invoke("saveIntoDatabase", ArgumentMatchers.anyString());
|
||||
assertEquals(10000, result);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.baeldung.powermockito.introduction;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.powermock.api.mockito.PowerMockito.*;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest(fullyQualifiedNames = "com.baeldung.powermockito.introduction.*")
|
||||
public class PowerMockitoUnitTest {
|
||||
|
||||
@Test
|
||||
public void givenFinalMethods_whenUsingPowerMockito_thenCorrect() throws Exception {
|
||||
CollaboratorWithFinalMethods mock = mock(CollaboratorWithFinalMethods.class);
|
||||
whenNew(CollaboratorWithFinalMethods.class).withNoArguments().thenReturn(mock);
|
||||
|
||||
CollaboratorWithFinalMethods collaborator = new CollaboratorWithFinalMethods();
|
||||
verifyNew(CollaboratorWithFinalMethods.class).withNoArguments();
|
||||
|
||||
when(collaborator.helloMethod()).thenReturn("Hello Baeldung!");
|
||||
String welcome = collaborator.helloMethod();
|
||||
verify(collaborator).helloMethod();
|
||||
assertEquals("Hello Baeldung!", welcome);
|
||||
}
|
||||
|
||||
@Test(expected = RuntimeException.class)
|
||||
public void givenStaticMethods_whenUsingPowerMockito_thenCorrect() {
|
||||
mockStatic(CollaboratorWithStaticMethods.class);
|
||||
|
||||
when(CollaboratorWithStaticMethods.firstMethod(Mockito.anyString())).thenReturn("Hello Baeldung!");
|
||||
when(CollaboratorWithStaticMethods.secondMethod()).thenReturn("Nothing special");
|
||||
doThrow(new RuntimeException()).when(CollaboratorWithStaticMethods.class);
|
||||
CollaboratorWithStaticMethods.thirdMethod();
|
||||
|
||||
String firstWelcome = CollaboratorWithStaticMethods.firstMethod("Whoever");
|
||||
String secondWelcome = CollaboratorWithStaticMethods.firstMethod("Whatever");
|
||||
|
||||
assertEquals("Hello Baeldung!", firstWelcome);
|
||||
assertEquals("Hello Baeldung!", secondWelcome);
|
||||
|
||||
verifyStatic(CollaboratorWithStaticMethods.class, times(2));
|
||||
CollaboratorWithStaticMethods.firstMethod(Mockito.anyString());
|
||||
|
||||
verifyStatic(CollaboratorWithStaticMethods.class, Mockito.never());
|
||||
CollaboratorWithStaticMethods.secondMethod();
|
||||
|
||||
CollaboratorWithStaticMethods.thirdMethod();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenPartialMocking_whenUsingPowerMockito_thenCorrect() throws Exception {
|
||||
String returnValue;
|
||||
|
||||
spy(CollaboratorForPartialMocking.class);
|
||||
when(CollaboratorForPartialMocking.staticMethod()).thenReturn("I am a static mock method.");
|
||||
returnValue = CollaboratorForPartialMocking.staticMethod();
|
||||
CollaboratorForPartialMocking.staticMethod();
|
||||
assertEquals("I am a static mock method.", returnValue);
|
||||
|
||||
CollaboratorForPartialMocking collaborator = new CollaboratorForPartialMocking();
|
||||
CollaboratorForPartialMocking mock = spy(collaborator);
|
||||
|
||||
when(mock.finalMethod()).thenReturn("I am a final mock method.");
|
||||
returnValue = mock.finalMethod();
|
||||
verify(mock).finalMethod();
|
||||
assertEquals("I am a final mock method.", returnValue);
|
||||
|
||||
when(mock, "privateMethod").thenReturn("I am a private mock method.");
|
||||
returnValue = mock.privateMethodCaller();
|
||||
verifyPrivate(mock).invoke("privateMethod");
|
||||
assertEquals("I am a private mock method. Welcome to the Java world.", returnValue);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user