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[] 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 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 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 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 mockMaker; + protected String mockMaker; public CreationSettings() {} @@ -183,7 +182,7 @@ public Strictness getStrictness() { } @Override - public Class 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 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 type) { - if (type == null) { + private static MockMaker getMockMaker(String mockMaker) { + if (mockMaker == null) { return defaultMockMaker; } + + // TODO: Share logic with PluginInitializer.loadImpl + Class 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 type) { }); } - public static TypeMockability typeMockabilityOf( - Class type, Class 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 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();
                 }