From ecbdd54eb2f4951b950a2ae906b53c3d925302e2 Mon Sep 17 00:00:00 2001
From: Johannes Spangenberg
Date: Sun, 28 Aug 2022 14:47:07 +0200
Subject: [PATCH] fixup! Fixes #2626 : Introduce MockSettings.mockMaker
---
src/main/java/org/mockito/Mock.java | 3 +-
src/main/java/org/mockito/MockMakers.java | 13 +++++
src/main/java/org/mockito/MockSettings.java | 3 +-
.../org/mockito/internal/MockitoCore.java | 4 +-
.../MockAnnotationProcessor.java | 6 +--
.../plugins/DefaultMockitoPlugins.java | 9 +++-
.../configuration/plugins/PluginRegistry.java | 3 +-
.../internal/creation/MockSettingsImpl.java | 3 +-
.../creation/settings/CreationSettings.java | 5 +-
.../internal/util/MockCreationValidator.java | 3 +-
.../org/mockito/internal/util/MockUtil.java | 40 ++++++++++++--
.../mockito/mock/MockCreationSettings.java | 2 +-
.../java/org/mockito/plugins/MockMaker.java | 2 +-
...st.java => ProgrammaticMockMakerTest.java} | 54 +++++++++++--------
.../plugins/DefaultMockitoPluginsTest.java | 4 ++
... ProgrammaticMockMakerAnnotationTest.java} | 9 ++--
.../mockitoinline/ConstructionMockTest.java | 4 +-
17 files changed, 113 insertions(+), 54 deletions(-)
create mode 100644 src/main/java/org/mockito/MockMakers.java
rename src/test/java/org/mockito/{CustomMockMakerTest.java => ProgrammaticMockMakerTest.java} (79%)
rename src/test/java/org/mockitousage/annotation/{CustomMockMakerAnnotationTest.java => ProgrammaticMockMakerAnnotationTest.java} (78%)
diff --git a/src/main/java/org/mockito/Mock.java b/src/main/java/org/mockito/Mock.java
index 0331ae4b23..72477a9278 100644
--- a/src/main/java/org/mockito/Mock.java
+++ b/src/main/java/org/mockito/Mock.java
@@ -13,7 +13,6 @@
import java.lang.annotation.Target;
import org.mockito.junit.MockitoJUnitRunner;
-import org.mockito.plugins.MockMaker;
import org.mockito.stubbing.Answer;
/**
@@ -125,7 +124,7 @@
*/
Strictness strictness() default Strictness.TEST_LEVEL_DEFAULT;
- Class extends MockMaker>[] mockMaker() default {};
+ String mockMaker() default "";
enum Strictness {
diff --git a/src/main/java/org/mockito/MockMakers.java b/src/main/java/org/mockito/MockMakers.java
new file mode 100644
index 0000000000..c21eaa374e
--- /dev/null
+++ b/src/main/java/org/mockito/MockMakers.java
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2022 Mockito contributors
+ * This program is made available under the terms of the MIT License.
+ */
+package org.mockito;
+
+public final class MockMakers {
+ public static final String INLINE = "mock-maker-inline";
+ public static final String PROXY = "mock-maker-proxy";
+ public static final String SUBCLASS = "mock-maker-subclass";
+
+ private MockMakers() {}
+}
diff --git a/src/main/java/org/mockito/MockSettings.java b/src/main/java/org/mockito/MockSettings.java
index 72b9bcbae0..6058159618 100644
--- a/src/main/java/org/mockito/MockSettings.java
+++ b/src/main/java/org/mockito/MockSettings.java
@@ -15,7 +15,6 @@
import org.mockito.listeners.VerificationStartedListener;
import org.mockito.mock.MockCreationSettings;
import org.mockito.mock.SerializableMode;
-import org.mockito.plugins.MockMaker;
import org.mockito.quality.Strictness;
import org.mockito.stubbing.Answer;
@@ -383,5 +382,5 @@ public interface MockSettings extends Serializable {
*/
MockSettings strictness(Strictness strictness);
- MockSettings mockMaker(Class extends MockMaker> mockMaker);
+ MockSettings mockMaker(String mockMaker);
}
diff --git a/src/main/java/org/mockito/internal/MockitoCore.java b/src/main/java/org/mockito/internal/MockitoCore.java
index d3f23bf808..fd39f6a4a2 100644
--- a/src/main/java/org/mockito/internal/MockitoCore.java
+++ b/src/main/java/org/mockito/internal/MockitoCore.java
@@ -152,11 +152,11 @@ public MockedConstruction mockConstruction(
+ "At the moment, you cannot provide your own implementations of that class.");
}
MockSettingsImpl impl = MockSettingsImpl.class.cast(value);
- Class extends MockMaker> mockMaker = impl.getMockMaker();
+ String mockMaker = impl.getMockMaker();
if (mockMaker != null) {
throw new IllegalArgumentException(
"Unexpected MockMaker '"
- + mockMaker.getCanonicalName()
+ + mockMaker
+ "'\n"
+ "At the moment, you cannot override the MockMaker for construction mocks.");
}
diff --git a/src/main/java/org/mockito/internal/configuration/MockAnnotationProcessor.java b/src/main/java/org/mockito/internal/configuration/MockAnnotationProcessor.java
index afa8aa0d56..95356f5c9a 100644
--- a/src/main/java/org/mockito/internal/configuration/MockAnnotationProcessor.java
+++ b/src/main/java/org/mockito/internal/configuration/MockAnnotationProcessor.java
@@ -53,10 +53,8 @@ public static Object processAnnotationForMock(
if (annotation.strictness() != Mock.Strictness.TEST_LEVEL_DEFAULT) {
mockSettings.strictness(Strictness.valueOf(annotation.strictness().toString()));
}
- if (annotation.mockMaker().length > 0) {
- // TODO: Use a special placeholder class for the default, instead of using an array?
- assert annotation.mockMaker().length == 1 : "cannon use multiple mock makers";
- mockSettings.mockMaker(annotation.mockMaker()[0]);
+ if (!annotation.mockMaker().isEmpty()) {
+ mockSettings.mockMaker(annotation.mockMaker());
}
// see @Mock answer default value
diff --git a/src/main/java/org/mockito/internal/configuration/plugins/DefaultMockitoPlugins.java b/src/main/java/org/mockito/internal/configuration/plugins/DefaultMockitoPlugins.java
index 592f79a81e..176964a5de 100644
--- a/src/main/java/org/mockito/internal/configuration/plugins/DefaultMockitoPlugins.java
+++ b/src/main/java/org/mockito/internal/configuration/plugins/DefaultMockitoPlugins.java
@@ -6,6 +6,8 @@
import java.util.HashMap;
import java.util.Map;
+
+import org.mockito.MockMakers;
import org.mockito.plugins.AnnotationEngine;
import org.mockito.plugins.DoNotMockEnforcer;
import org.mockito.plugins.InstantiatorProvider2;
@@ -19,8 +21,9 @@
class DefaultMockitoPlugins implements MockitoPlugins {
private static final Map DEFAULT_PLUGINS = new HashMap<>();
- static final String INLINE_ALIAS = "mock-maker-inline";
- static final String PROXY_ALIAS = "mock-maker-proxy";
+ static final String INLINE_ALIAS = MockMakers.INLINE;
+ static final String PROXY_ALIAS = MockMakers.PROXY;
+ static final String SUBCLASS_ALIAS = MockMakers.SUBCLASS;
static final String MODULE_ALIAS = "member-accessor-module";
static {
@@ -41,6 +44,8 @@ class DefaultMockitoPlugins implements MockitoPlugins {
DEFAULT_PLUGINS.put(
INLINE_ALIAS, "org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker");
DEFAULT_PLUGINS.put(PROXY_ALIAS, "org.mockito.internal.creation.proxy.ProxyMockMaker");
+ DEFAULT_PLUGINS.put(
+ SUBCLASS_ALIAS, "org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker");
DEFAULT_PLUGINS.put(
MockitoLogger.class.getName(), "org.mockito.internal.util.ConsoleMockitoLogger");
DEFAULT_PLUGINS.put(
diff --git a/src/main/java/org/mockito/internal/configuration/plugins/PluginRegistry.java b/src/main/java/org/mockito/internal/configuration/plugins/PluginRegistry.java
index 01e89d2014..53b5a7778c 100644
--- a/src/main/java/org/mockito/internal/configuration/plugins/PluginRegistry.java
+++ b/src/main/java/org/mockito/internal/configuration/plugins/PluginRegistry.java
@@ -24,7 +24,8 @@ class PluginRegistry {
new PluginLoader(
pluginSwitch,
DefaultMockitoPlugins.INLINE_ALIAS,
- DefaultMockitoPlugins.PROXY_ALIAS)
+ DefaultMockitoPlugins.PROXY_ALIAS,
+ DefaultMockitoPlugins.SUBCLASS_ALIAS)
.loadPlugin(MockMaker.class);
private final MemberAccessor memberAccessor =
diff --git a/src/main/java/org/mockito/internal/creation/MockSettingsImpl.java b/src/main/java/org/mockito/internal/creation/MockSettingsImpl.java
index ad37b7818b..a25299722c 100644
--- a/src/main/java/org/mockito/internal/creation/MockSettingsImpl.java
+++ b/src/main/java/org/mockito/internal/creation/MockSettingsImpl.java
@@ -34,7 +34,6 @@
import org.mockito.mock.MockCreationSettings;
import org.mockito.mock.MockName;
import org.mockito.mock.SerializableMode;
-import org.mockito.plugins.MockMaker;
import org.mockito.quality.Strictness;
import org.mockito.stubbing.Answer;
@@ -256,7 +255,7 @@ public MockSettings strictness(Strictness strictness) {
}
@Override
- public MockSettings mockMaker(Class extends MockMaker> mockMaker) {
+ public MockSettings mockMaker(String mockMaker) {
this.mockMaker = mockMaker;
return this;
}
diff --git a/src/main/java/org/mockito/internal/creation/settings/CreationSettings.java b/src/main/java/org/mockito/internal/creation/settings/CreationSettings.java
index b923eb2ef6..4b50781833 100644
--- a/src/main/java/org/mockito/internal/creation/settings/CreationSettings.java
+++ b/src/main/java/org/mockito/internal/creation/settings/CreationSettings.java
@@ -18,7 +18,6 @@
import org.mockito.mock.MockCreationSettings;
import org.mockito.mock.MockName;
import org.mockito.mock.SerializableMode;
-import org.mockito.plugins.MockMaker;
import org.mockito.quality.Strictness;
import org.mockito.stubbing.Answer;
@@ -47,7 +46,7 @@ public class CreationSettings implements MockCreationSettings, Serializabl
private Object outerClassInstance;
private Object[] constructorArgs;
protected Strictness strictness = null;
- protected Class extends MockMaker> mockMaker;
+ protected String mockMaker;
public CreationSettings() {}
@@ -183,7 +182,7 @@ public Strictness getStrictness() {
}
@Override
- public Class extends MockMaker> getMockMaker() {
+ public String getMockMaker() {
return mockMaker;
}
}
diff --git a/src/main/java/org/mockito/internal/util/MockCreationValidator.java b/src/main/java/org/mockito/internal/util/MockCreationValidator.java
index 6809f2c8f7..9db6b36ea3 100644
--- a/src/main/java/org/mockito/internal/util/MockCreationValidator.java
+++ b/src/main/java/org/mockito/internal/util/MockCreationValidator.java
@@ -13,13 +13,12 @@
import java.util.Collection;
import org.mockito.mock.SerializableMode;
-import org.mockito.plugins.MockMaker;
import org.mockito.plugins.MockMaker.TypeMockability;
@SuppressWarnings("unchecked")
public class MockCreationValidator {
- public void validateType(Class> classToMock, Class extends MockMaker> mockMaker) {
+ public void validateType(Class> classToMock, String mockMaker) {
TypeMockability typeMockability = MockUtil.typeMockabilityOf(classToMock, mockMaker);
if (!typeMockability.mockable()) {
throw cannotMockClass(classToMock, typeMockability.nonMockableReason());
diff --git a/src/main/java/org/mockito/internal/util/MockUtil.java b/src/main/java/org/mockito/internal/util/MockUtil.java
index b0083d4848..7def3c73e6 100644
--- a/src/main/java/org/mockito/internal/util/MockUtil.java
+++ b/src/main/java/org/mockito/internal/util/MockUtil.java
@@ -4,10 +4,14 @@
*/
package org.mockito.internal.util;
+import org.mockito.MockMakers;
import org.mockito.MockedConstruction;
import org.mockito.Mockito;
import org.mockito.exceptions.misusing.NotAMockException;
import org.mockito.internal.configuration.plugins.Plugins;
+import org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker;
+import org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker;
+import org.mockito.internal.creation.proxy.ProxyMockMaker;
import org.mockito.internal.creation.settings.CreationSettings;
import org.mockito.internal.stubbing.InvocationContainerImpl;
import org.mockito.internal.util.reflection.LenientCopyTool;
@@ -35,10 +39,39 @@ public class MockUtil {
private MockUtil() {}
- private static MockMaker getMockMaker(Class extends MockMaker> type) {
- if (type == null) {
+ private static MockMaker getMockMaker(String mockMaker) {
+ if (mockMaker == null) {
return defaultMockMaker;
}
+
+ // TODO: Share logic with PluginInitializer.loadImpl
+ Class extends MockMaker> type;
+ switch (mockMaker) {
+ case MockMakers.INLINE:
+ type = InlineByteBuddyMockMaker.class;
+ break;
+ case MockMakers.PROXY:
+ type = ProxyMockMaker.class;
+ break;
+ case MockMakers.SUBCLASS:
+ type = ByteBuddyMockMaker.class;
+ break;
+ default:
+ {
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ if (loader == null) {
+ loader = ClassLoader.getSystemClassLoader();
+ }
+ try {
+ type = loader.loadClass(mockMaker).asSubclass(MockMaker.class);
+ } catch (Exception e) {
+ throw new IllegalStateException(
+ "Failed to load MockMaker: " + mockMaker, e);
+ }
+ break;
+ }
+ }
+
return mockMakers.computeIfAbsent(
type,
t -> {
@@ -51,8 +84,7 @@ private static MockMaker getMockMaker(Class extends MockMaker> type) {
});
}
- public static TypeMockability typeMockabilityOf(
- Class> type, Class extends MockMaker> mockMaker) {
+ public static TypeMockability typeMockabilityOf(Class> type, String mockMaker) {
return getMockMaker(mockMaker).isTypeMockable(type);
}
diff --git a/src/main/java/org/mockito/mock/MockCreationSettings.java b/src/main/java/org/mockito/mock/MockCreationSettings.java
index 8e425ff690..f4ef689ea6 100644
--- a/src/main/java/org/mockito/mock/MockCreationSettings.java
+++ b/src/main/java/org/mockito/mock/MockCreationSettings.java
@@ -141,5 +141,5 @@ public interface MockCreationSettings {
* The {@link MockMaker} which shall by used instead of the default. When
* the return value is {@code null}, the default shall be used.
*/
- Class extends MockMaker> getMockMaker();
+ String getMockMaker();
}
diff --git a/src/main/java/org/mockito/plugins/MockMaker.java b/src/main/java/org/mockito/plugins/MockMaker.java
index 4b6b896509..038f775fc0 100644
--- a/src/main/java/org/mockito/plugins/MockMaker.java
+++ b/src/main/java/org/mockito/plugins/MockMaker.java
@@ -49,7 +49,7 @@
* Using the MockSettings of individual mocks
*
* If you want to use your {@code AwesomeMockMaker} only for a specific mock,
- * you can specify it using {@link MockSettings#mockMaker(Class)}.
+ * you can specify it using {@link MockSettings#mockMaker(String)}.
*
* Object mock = Mockito.mock(Object.class, Mockito.withSettings()
* .mockMaker(AwesomeMockMaker.class));
diff --git a/src/test/java/org/mockito/CustomMockMakerTest.java b/src/test/java/org/mockito/ProgrammaticMockMakerTest.java
similarity index 79%
rename from src/test/java/org/mockito/CustomMockMakerTest.java
rename to src/test/java/org/mockito/ProgrammaticMockMakerTest.java
index 750cab849a..f03555d0e5 100644
--- a/src/test/java/org/mockito/CustomMockMakerTest.java
+++ b/src/test/java/org/mockito/ProgrammaticMockMakerTest.java
@@ -14,21 +14,19 @@
import org.junit.Test;
import org.mockito.exceptions.base.MockitoException;
import org.mockito.exceptions.verification.SmartNullPointerException;
-import org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker;
-import org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker;
import org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker;
+import org.mockito.invocation.MockHandler;
+import org.mockito.mock.MockCreationSettings;
-public final class CustomMockMakerTest {
+public final class ProgrammaticMockMakerTest {
@Test
public void test_normal_mock_uses_given_mock_maker() {
ClassWithFinalMethod inlineMock =
Mockito.mock(
- ClassWithFinalMethod.class,
- withSettings().mockMaker(InlineByteBuddyMockMaker.class));
+ ClassWithFinalMethod.class, withSettings().mockMaker(MockMakers.INLINE));
ClassWithFinalMethod subclassMock =
Mockito.mock(
- ClassWithFinalMethod.class,
- withSettings().mockMaker(ByteBuddyMockMaker.class));
+ ClassWithFinalMethod.class, withSettings().mockMaker(MockMakers.SUBCLASS));
Mockito.when(inlineMock.finalMethodCallingNonFinal()).thenReturn("MOCKED");
Mockito.when(subclassMock.finalMethodCallingNonFinal()).thenReturn("MOCKED");
@@ -40,16 +38,12 @@ public void test_normal_mock_uses_given_mock_maker() {
@Test
public void test_mockability_check_uses_given_mock_maker() {
- assertNotNull(
- Mockito.mock(
- FinalClass.class,
- withSettings().mockMaker(InlineByteBuddyMockMaker.class)));
+ assertNotNull(Mockito.mock(FinalClass.class, withSettings().mockMaker(MockMakers.INLINE)));
assertThrows(
MockitoException.class,
() ->
Mockito.mock(
- FinalClass.class,
- withSettings().mockMaker(ByteBuddyMockMaker.class)));
+ FinalClass.class, withSettings().mockMaker(MockMakers.SUBCLASS)));
}
@Test
@@ -58,13 +52,13 @@ public void test_deep_stups_inherit_mock_maker() {
Mockito.mock(
Container.class,
withSettings()
- .mockMaker(InlineByteBuddyMockMaker.class)
+ .mockMaker(MockMakers.INLINE)
.defaultAnswer(Answers.RETURNS_DEEP_STUBS));
Container subclassMock =
Mockito.mock(
Container.class,
withSettings()
- .mockMaker(ByteBuddyMockMaker.class)
+ .mockMaker(MockMakers.SUBCLASS)
.defaultAnswer(Answers.RETURNS_DEEP_STUBS));
assertNotNull(inlineMock.finalClass());
@@ -81,18 +75,18 @@ public void test_deep_stups_inherit_mock_maker() {
}
@Test
- public void test_returnd_mocks_inherit_mock_maker() {
+ public void test_returned_mocks_inherit_mock_maker() {
Container inlineMock =
Mockito.mock(
Container.class,
withSettings()
- .mockMaker(InlineByteBuddyMockMaker.class)
+ .mockMaker(MockMakers.INLINE)
.defaultAnswer(Answers.RETURNS_MOCKS));
Container subclassMock =
Mockito.mock(
Container.class,
withSettings()
- .mockMaker(ByteBuddyMockMaker.class)
+ .mockMaker(MockMakers.SUBCLASS)
.defaultAnswer(Answers.RETURNS_MOCKS));
assertNotNull(inlineMock.finalClass());
@@ -114,13 +108,13 @@ public void test_smart_nulls_inherit_mock_maker() {
Mockito.mock(
Container.class,
withSettings()
- .mockMaker(InlineByteBuddyMockMaker.class)
+ .mockMaker(MockMakers.INLINE)
.defaultAnswer(Answers.RETURNS_SMART_NULLS));
Container subclassMock =
Mockito.mock(
Container.class,
withSettings()
- .mockMaker(ByteBuddyMockMaker.class)
+ .mockMaker(MockMakers.SUBCLASS)
.defaultAnswer(Answers.RETURNS_SMART_NULLS));
assertNotNull(inlineMock.finalClass());
@@ -135,6 +129,17 @@ public void test_smart_nulls_inherit_mock_maker() {
assertEquals("ORIGINAL", subclassMock.classWithFinalMethod().finalMethod());
}
+ @Test
+ public void test_custom_mock_maker() {
+ assertThatThrownBy(
+ () -> {
+ Mockito.mock(
+ Container.class,
+ withSettings().mockMaker(CustomMockMaker.class.getName()));
+ })
+ .hasMessage("CUSTOM MOCK MAKER");
+ }
+
@Test
public void test_exception_when_mock_maker_cannot_be_instantiated() {
class InvalidMockMaker extends SubclassByteBuddyMockMaker {
@@ -145,7 +150,7 @@ class InvalidMockMaker extends SubclassByteBuddyMockMaker {
() -> {
Mockito.mock(
Container.class,
- withSettings().mockMaker(InvalidMockMaker.class));
+ withSettings().mockMaker(InvalidMockMaker.class.getName()));
})
.isInstanceOf(IllegalStateException.class)
.hasMessageContaining("Failed to construct MockMaker")
@@ -186,4 +191,11 @@ Container subContainer() {
return new Container();
}
}
+
+ public static class CustomMockMaker extends SubclassByteBuddyMockMaker {
+ @Override
+ public T createMock(MockCreationSettings settings, MockHandler handler) {
+ throw new RuntimeException("CUSTOM MOCK MAKER");
+ }
+ }
}
diff --git a/src/test/java/org/mockito/internal/configuration/plugins/DefaultMockitoPluginsTest.java b/src/test/java/org/mockito/internal/configuration/plugins/DefaultMockitoPluginsTest.java
index 44afe0b6a9..3066d1a778 100644
--- a/src/test/java/org/mockito/internal/configuration/plugins/DefaultMockitoPluginsTest.java
+++ b/src/test/java/org/mockito/internal/configuration/plugins/DefaultMockitoPluginsTest.java
@@ -7,6 +7,7 @@
import static org.junit.Assert.*;
import static org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.INLINE_ALIAS;
import static org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.PROXY_ALIAS;
+import static org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.SUBCLASS_ALIAS;
import org.junit.Test;
import org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker;
@@ -30,6 +31,9 @@ public void provides_plugins() throws Exception {
assertEquals(
"org.mockito.internal.creation.proxy.ProxyMockMaker",
plugins.getDefaultPluginClass(PROXY_ALIAS));
+ assertEquals(
+ "org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker",
+ plugins.getDefaultPluginClass(SUBCLASS_ALIAS));
assertEquals(
ByteBuddyMockMaker.class, plugins.getDefaultPlugin(MockMaker.class).getClass());
assertNotNull(plugins.getDefaultPlugin(InstantiatorProvider2.class));
diff --git a/src/test/java/org/mockitousage/annotation/CustomMockMakerAnnotationTest.java b/src/test/java/org/mockitousage/annotation/ProgrammaticMockMakerAnnotationTest.java
similarity index 78%
rename from src/test/java/org/mockitousage/annotation/CustomMockMakerAnnotationTest.java
rename to src/test/java/org/mockitousage/annotation/ProgrammaticMockMakerAnnotationTest.java
index 4223635442..ad5f2a50ae 100644
--- a/src/test/java/org/mockitousage/annotation/CustomMockMakerAnnotationTest.java
+++ b/src/test/java/org/mockitousage/annotation/ProgrammaticMockMakerAnnotationTest.java
@@ -8,16 +8,15 @@
import org.junit.Test;
import org.mockito.Mock;
+import org.mockito.MockMakers;
import org.mockito.Mockito;
-import org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker;
-import org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker;
import org.mockitoutil.TestBase;
-public class CustomMockMakerAnnotationTest extends TestBase {
- @Mock(mockMaker = InlineByteBuddyMockMaker.class)
+public class ProgrammaticMockMakerAnnotationTest extends TestBase {
+ @Mock(mockMaker = MockMakers.INLINE)
ClassWithFinalMethod inlineMock;
- @Mock(mockMaker = ByteBuddyMockMaker.class)
+ @Mock(mockMaker = MockMakers.SUBCLASS)
ClassWithFinalMethod subclassMock;
@Test
diff --git a/subprojects/inline/src/test/java/org/mockitoinline/ConstructionMockTest.java b/subprojects/inline/src/test/java/org/mockitoinline/ConstructionMockTest.java
index 58cf24566b..adbe3fe3ee 100644
--- a/subprojects/inline/src/test/java/org/mockitoinline/ConstructionMockTest.java
+++ b/subprojects/inline/src/test/java/org/mockitoinline/ConstructionMockTest.java
@@ -17,10 +17,10 @@
import java.util.concurrent.atomic.AtomicReference;
import org.junit.Test;
+import org.mockito.MockMakers;
import org.mockito.MockedConstruction;
import org.mockito.Mockito;
import org.mockito.exceptions.base.MockitoException;
-import org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker;
public final class ConstructionMockTest {
@@ -162,7 +162,7 @@ public void testConstructionMocksMustNotUseCustomMockMaker() {
() -> {
try (MockedConstruction ignored = Mockito.mockConstruction(
Dummy.class,
- withSettings().mockMaker(InlineByteBuddyMockMaker.class))
+ withSettings().mockMaker(MockMakers.INLINE))
) {
new Dummy();
}