diff --git a/testing-modules/mocks/pom.xml b/testing-modules/mocks/pom.xml index 281fff38c2..88fc6367aa 100644 --- a/testing-modules/mocks/pom.xml +++ b/testing-modules/mocks/pom.xml @@ -67,7 +67,7 @@ 0.15 1.5 3.5.1 - 1.41 + 1.49 1.1 diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jmockit/AdvancedCollaborator.java b/testing-modules/mocks/src/main/java/com/baeldung/jmockit/AdvancedCollaborator.java index ef7484cfdd..61afccc745 100644 --- a/testing-modules/mocks/src/main/java/com/baeldung/jmockit/AdvancedCollaborator.java +++ b/testing-modules/mocks/src/main/java/com/baeldung/jmockit/AdvancedCollaborator.java @@ -8,12 +8,12 @@ public class AdvancedCollaborator { i = string.length(); } public String methodThatCallsPrivateMethod(int i){ - return privateMethod() + i; + return protectedMethod() + i; } public int methodThatReturnsThePrivateField(){ return privateField; } - private String privateMethod(){ + protected String protectedMethod(){ return "default:"; } class InnerAdvancedCollaborator{} diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/AdvancedCollaboratorIntegrationTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/AdvancedCollaboratorIntegrationTest.java index e55a69895f..ff69a701e7 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/AdvancedCollaboratorIntegrationTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/AdvancedCollaboratorIntegrationTest.java @@ -1,37 +1,33 @@ package com.baeldung.jmockit; -import static org.junit.Assert.assertEquals; +import mockit.*; +import org.junit.Test; -import java.util.ArrayList; +import java.io.Serializable; +import java.util.Comparator; import java.util.List; -import com.baeldung.jmockit.AdvancedCollaborator; -import org.junit.Test; -import org.junit.runner.RunWith; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; -import mockit.Deencapsulation; -import mockit.Expectations; -import mockit.Invocation; -import mockit.Mock; -import mockit.MockUp; -import mockit.Mocked; -import mockit.Tested; -import mockit.integration.junit4.JMockit; +public class AdvancedCollaboratorIntegrationTest { -@RunWith(JMockit.class) -public class AdvancedCollaboratorIntegrationTest & Comparable>> { + interface IList extends List {} + interface IComparator extends Comparator, Serializable {} + static class MultiMock { + IList get() { return null; } + IComparator compareTo() { return null; } + } @Tested private AdvancedCollaborator mock; - @Mocked - private MultiMock multiMock; @Test public void testToMockUpPrivateMethod() { new MockUp() { @Mock - private String privateMethod() { + protected String protectedMethod() { return "mocked: "; } }; @@ -52,40 +48,26 @@ public class AdvancedCollaboratorIntegrationTest } @Test - public void testToSetPrivateFieldDirectly() { - Deencapsulation.setField(mock, "privateField", 10); - assertEquals(10, mock.methodThatReturnsThePrivateField()); + public void testToSetPrivateFieldDirectly(@Injectable("10") int privateField) { + assertEquals(10, privateField); } @Test public void testToGetPrivateFieldDirectly() { - int value = Deencapsulation.getField(mock, "privateField"); - assertEquals(5, value); + assertEquals(5, mock.methodThatReturnsThePrivateField()); } @Test @SuppressWarnings("unchecked") - public void testMultipleInterfacesWholeTest() { + public void testMultipleInterfacesWholeTest(@Mocked MultiMock multiMock) { new Expectations() { { - multiMock.get(5); result = "foo"; - multiMock.compareTo((List) any); result = 0; + multiMock.get(); result = null; + multiMock.compareTo(); result = null; } }; - assertEquals("foo", multiMock.get(5)); - assertEquals(0, multiMock.compareTo(new ArrayList<>())); + assertNull(multiMock.get()); + assertNull(multiMock.compareTo()); } - @Test - @SuppressWarnings("unchecked") - public & Comparable>> void testMultipleInterfacesOneMethod(@Mocked M mock) { - new Expectations() { - { - mock.get(5); result = "foo"; - mock.compareTo((List) any); - result = 0; } - }; - assertEquals("foo", mock.get(5)); - assertEquals(0, mock.compareTo(new ArrayList<>())); - } } diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ExpectationsIntegrationTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ExpectationsIntegrationTest.java index 1ff90111d1..b17f7b183f 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ExpectationsIntegrationTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ExpectationsIntegrationTest.java @@ -1,23 +1,17 @@ package com.baeldung.jmockit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import java.util.ArrayList; -import java.util.List; - -import org.hamcrest.BaseMatcher; -import org.hamcrest.Description; -import org.junit.Test; -import org.junit.runner.RunWith; - import mockit.Delegate; import mockit.Expectations; import mockit.Mocked; import mockit.Verifications; -import mockit.integration.junit4.JMockit; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; -@RunWith(JMockit.class) @SuppressWarnings("unchecked") public class ExpectationsIntegrationTest { @@ -91,15 +85,11 @@ public class ExpectationsIntegrationTest { @Test public void testCustomArgumentMatching(@Mocked ExpectationsCollaborator mock) { new Expectations() {{ - mock.methodForArgThat(withArgThat(new BaseMatcher() { - @Override + mock.methodForArgThat(with(new Delegate() { public boolean matches(Object item) { return item instanceof Model && "info".equals(((Model) item).getInfo()); } - @Override - public void describeTo(Description description) { - } })); }}; mock.methodForArgThat(new Model()); diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/LoginControllerIntegrationTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/LoginControllerIntegrationTest.java index df3eeccca2..c2b8bea1ea 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/LoginControllerIntegrationTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/LoginControllerIntegrationTest.java @@ -1,18 +1,13 @@ package com.baeldung.jmockit; -import mockit.*; -import mockit.integration.junit4.JMockit; import com.baeldung.testCase.LoginController; import com.baeldung.testCase.LoginDao; import com.baeldung.testCase.LoginService; import com.baeldung.testCase.UserForm; -import org.hamcrest.BaseMatcher; -import org.hamcrest.Description; +import mockit.*; import org.junit.Assert; import org.junit.Test; -import org.junit.runner.RunWith; -@RunWith(JMockit.class) public class LoginControllerIntegrationTest { @Injectable @@ -110,16 +105,10 @@ public class LoginControllerIntegrationTest { loginService.login((UserForm) any); result = true; // complex matcher - loginService.setCurrentUser(withArgThat(new BaseMatcher() { - @Override + loginService.setCurrentUser(with(new Delegate() { public boolean matches(Object item) { return item instanceof String && ((String) item).startsWith("foo"); } - - @Override - public void describeTo(Description description) { - //NOOP - } })); }}; diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/PerformerIntegrationTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/PerformerIntegrationTest.java index fb94ae908b..d2a5c52154 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/PerformerIntegrationTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/PerformerIntegrationTest.java @@ -1,15 +1,8 @@ package com.baeldung.jmockit; -import com.baeldung.jmockit.Collaborator; -import com.baeldung.jmockit.Model; -import com.baeldung.jmockit.Performer; -import org.junit.Test; -import org.junit.runner.RunWith; - import mockit.*; -import mockit.integration.junit4.JMockit; +import org.junit.Test; -@RunWith(JMockit.class) public class PerformerIntegrationTest { @Injectable diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ReusingIntegrationTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ReusingIntegrationTest.java index 30b17ee2e4..f702f776fc 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ReusingIntegrationTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jmockit/ReusingIntegrationTest.java @@ -1,20 +1,9 @@ package com.baeldung.jmockit; -import com.baeldung.jmockit.Collaborator; -import com.baeldung.jmockit.Model; -import com.baeldung.jmockit.Performer; +import mockit.*; import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; -import mockit.Expectations; -import mockit.Injectable; -import mockit.Mocked; -import mockit.Tested; -import mockit.Verifications; -import mockit.integration.junit4.JMockit; - -@RunWith(JMockit.class) public class ReusingIntegrationTest { @Injectable