This is an automated email from the ASF dual-hosted git repository.

sseifert pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-models-impl.git


The following commit(s) were added to refs/heads/master by this push:
     new 3ef0e23  SLING-13088: [Sling Models] Migrate ModelAdapterFactory, 
Ordering, and OSGi tests to JUnit 5 (#80)
3ef0e23 is described below

commit 3ef0e236b2ef9d75afa79e40a773170c6bdc681c
Author: Bhavik Kothari <[email protected]>
AuthorDate: Mon Feb 9 23:03:51 2026 +0530

    SLING-13088: [Sling Models] Migrate ModelAdapterFactory, Ordering, and OSGi 
tests to JUnit 5 (#80)
---
 pom.xml                                            |   6 ++
 .../sling/models/impl/ModelAdapterFactoryTest.java |  80 ++++++++--------
 ...apterFactory_ImplementationPickerOrderTest.java |  25 +++--
 .../ModelAdapterFactory_InjectorOrderTest.java     |  39 ++++----
 .../impl/ModelPackageBundleListenerTest.java       |  41 ++++----
 .../sling/models/impl/MultipleInjectorTest.java    |  41 ++++----
 .../sling/models/impl/OSGiInjectionTest.java       | 103 +++++++++++----------
 .../sling/models/impl/OptionalObjectsTest.java     |  57 ++++++------
 .../sling/models/impl/OptionalPrimitivesTest.java  |  30 +++---
 9 files changed, 218 insertions(+), 204 deletions(-)

diff --git a/pom.xml b/pom.xml
index dc30e98..d588e6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -198,6 +198,12 @@
             <version>3.5.4</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.testing.osgi-mock.junit5</artifactId>
+            <version>3.5.4</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
diff --git 
a/src/test/java/org/apache/sling/models/impl/ModelAdapterFactoryTest.java 
b/src/test/java/org/apache/sling/models/impl/ModelAdapterFactoryTest.java
index ee89543..a38efbc 100644
--- a/src/test/java/org/apache/sling/models/impl/ModelAdapterFactoryTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ModelAdapterFactoryTest.java
@@ -34,32 +34,32 @@ import org.apache.sling.models.factory.ModelClassException;
 import org.apache.sling.models.testutil.ModelAdapterFactoryUtil;
 import org.apache.sling.scripting.api.BindingsValuesProvidersByContext;
 import org.apache.sling.testing.mock.osgi.junit.OsgiContext;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.sling.testing.mock.osgi.junit5.OsgiContextExtension;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyMap;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.when;
 
 /**
  *
  */
-@RunWith(MockitoJUnitRunner.class)
-public class ModelAdapterFactoryTest {
+@ExtendWith({OsgiContextExtension.class, MockitoExtension.class})
+class ModelAdapterFactoryTest {
 
-    @Rule
-    public final OsgiContext context = new OsgiContext();
+    final OsgiContext context = new OsgiContext();
 
     @Mock
     private AdapterManager adapterManager;
@@ -87,9 +87,9 @@ public class ModelAdapterFactoryTest {
     private ModelAdapterFactory factory;
 
     @SuppressWarnings("deprecation")
-    @Before
-    public void setUp() {
-        when(resourceResolver.getSearchPath()).thenReturn(new String[] 
{"/apps/", "/libs/"});
+    @BeforeEach
+    void setUp() {
+        lenient().when(resourceResolver.getSearchPath()).thenReturn(new 
String[] {"/apps/", "/libs/"});
 
         context.registerService(BindingsValuesProvidersByContext.class, 
bindingsValuesProvidersByContext);
         context.registerService(AdapterManager.class, adapterManager);
@@ -97,10 +97,10 @@ public class ModelAdapterFactoryTest {
 
         ModelAdapterFactoryUtil.addModelsForPackage(context.bundleContext(), 
JakartaModel1.class, JavaxModel2.class);
 
-        Mockito.when(resource.getResourceType()).thenReturn("nt:unstructured");
-        
Mockito.when(resource.getResourceResolver()).thenReturn(resourceResolver);
-        Mockito.when(jakartaRequest.getResource()).thenReturn(resource);
-        Mockito.when(javaxRequest.getResource()).thenReturn(resource);
+        
lenient().when(resource.getResourceType()).thenReturn("nt:unstructured");
+        
lenient().when(resource.getResourceResolver()).thenReturn(resourceResolver);
+        lenient().when(jakartaRequest.getResource()).thenReturn(resource);
+        lenient().when(javaxRequest.getResource()).thenReturn(resource);
     }
 
     protected void registerModel(final Class<?> adaptableType, final Class<?> 
clazz) {
@@ -114,7 +114,7 @@ public class ModelAdapterFactoryTest {
      */
     @Deprecated(since = "2.0.0")
     @Test
-    public void 
testCreateModelFromWrappedRequestSlingHttpServletRequestResourceClassOfT() {
+    void 
testCreateModelFromWrappedRequestSlingHttpServletRequestResourceClassOfT() {
         assertNotNull(factory.createModelFromWrappedRequest(javaxRequest, 
resource, JavaxModel2.class));
     }
 
@@ -122,7 +122,7 @@ public class ModelAdapterFactoryTest {
      * Test method for {@link 
org.apache.sling.models.impl.ModelAdapterFactory#createModelFromWrappedRequest(org.apache.sling.api.SlingJakartaHttpServletRequest,
 org.apache.sling.api.resource.Resource, java.lang.Class)}.
      */
     @Test
-    public void 
testCreateModelFromWrappedRequestSlingJakartaHttpServletRequestResourceClassOfT()
 {
+    void 
testCreateModelFromWrappedRequestSlingJakartaHttpServletRequestResourceClassOfT()
 {
         assertNotNull(factory.createModelFromWrappedRequest(jakartaRequest, 
resource, JakartaModel1.class));
     }
 
@@ -132,7 +132,7 @@ public class ModelAdapterFactoryTest {
      */
     @Deprecated(since = "2.0.0")
     @Test
-    public void testIsModelClassObjectClassOfQ() {
+    void testIsModelClassObjectClassOfQ() {
         assertTrue(factory.isModelClass(jakartaRequest, JakartaModel1.class));
         assertTrue(factory.isModelClass(jakartaRequest, JavaxModel2.class));
         assertFalse(factory.isModelClass(jakartaRequest, Object.class));
@@ -143,7 +143,7 @@ public class ModelAdapterFactoryTest {
      */
     @SuppressWarnings("deprecation")
     @Test
-    public void testIsModelClassClassOfQ() {
+    void testIsModelClassClassOfQ() {
         assertTrue(factory.isModelClass(JakartaModel1.class));
         assertTrue(factory.isModelClass(JavaxModel2.class));
         assertFalse(factory.isModelClass(Object.class));
@@ -155,7 +155,7 @@ public class ModelAdapterFactoryTest {
      */
     @Deprecated(since = "2.0.0")
     @Test
-    public void testIsModelAvailableForRequestSlingHttpServletRequest() {
+    void testIsModelAvailableForRequestSlingHttpServletRequest() {
         assertFalse(factory.isModelAvailableForRequest(javaxRequest));
 
         registerModel(org.apache.sling.api.SlingHttpServletRequest.class, 
JavaxModel2.class);
@@ -167,7 +167,7 @@ public class ModelAdapterFactoryTest {
      * Test method for {@link 
org.apache.sling.models.impl.ModelAdapterFactory#isModelAvailableForRequest(org.apache.sling.api.SlingJakartaHttpServletRequest)}.
      */
     @Test
-    public void testIsModelAvailableForRequestSlingJakartaHttpServletRequest() 
{
+    void testIsModelAvailableForRequestSlingJakartaHttpServletRequest() {
         assertFalse(factory.isModelAvailableForRequest(jakartaRequest));
 
         registerModel(SlingJakartaHttpServletRequest.class, 
JakartaModel1.class);
@@ -179,7 +179,7 @@ public class ModelAdapterFactoryTest {
      * Test method for {@link 
org.apache.sling.models.impl.ModelAdapterFactory#getModelFromResource(org.apache.sling.api.resource.Resource)}.
      */
     @Test
-    public void testGetModelFromResource() {
+    void testGetModelFromResource() {
         assertThrows(ModelClassException.class, () -> 
factory.getModelFromResource(resource));
 
         registerModel(Resource.class, JakartaModel1.class);
@@ -195,7 +195,7 @@ public class ModelAdapterFactoryTest {
     @SuppressWarnings("deprecation")
     @Deprecated(since = "2.0.0")
     @Test
-    public void testGetModelFromRequestSlingHttpServletRequest() {
+    void testGetModelFromRequestSlingHttpServletRequest() {
         assertThrows(ModelClassException.class, () -> 
factory.getModelFromRequest(javaxRequest));
 
         registerModel(org.apache.sling.api.SlingHttpServletRequest.class, 
JavaxModel2.class);
@@ -208,7 +208,7 @@ public class ModelAdapterFactoryTest {
      * Test method for {@link 
org.apache.sling.models.impl.ModelAdapterFactory#getModelFromRequest(org.apache.sling.api.SlingJakartaHttpServletRequest)}.
      */
     @Test
-    public void testGetModelFromRequestSlingJakartaHttpServletRequest() {
+    void testGetModelFromRequestSlingJakartaHttpServletRequest() {
         assertThrows(ModelClassException.class, () -> 
factory.getModelFromRequest(jakartaRequest));
 
         registerModel(SlingJakartaHttpServletRequest.class, 
JakartaModel1.class);
@@ -224,7 +224,7 @@ public class ModelAdapterFactoryTest {
     @Deprecated(since = "2.0.0")
     @SuppressWarnings({"unchecked", "deprecation"})
     @Test
-    public void 
testExportModelForRequestSlingHttpServletRequestStringClassOfTMapOfStringString()
+    void 
testExportModelForRequestSlingHttpServletRequestStringClassOfTMapOfStringString()
             throws ExportException, MissingExporterException {
         Map<String, String> options = Map.of();
         assertThrows(
@@ -232,9 +232,9 @@ public class ModelAdapterFactoryTest {
                 () -> factory.exportModelForRequest(javaxRequest, "exporter1", 
JavaxModel2.class, options));
 
         ModelExporter mockExporter = 
context.registerService(ModelExporter.class, Mockito.mock(ModelExporter.class));
-        Mockito.when(mockExporter.getName()).thenReturn("exporter1");
-        
Mockito.when(mockExporter.isSupported(JavaxModel2.class)).thenReturn(true);
-        Mockito.when(mockExporter.export(any(), any(Class.class), 
anyMap())).thenAnswer(invocation -> {
+        when(mockExporter.getName()).thenReturn("exporter1");
+        when(mockExporter.isSupported(JavaxModel2.class)).thenReturn(true);
+        when(mockExporter.export(any(), any(Class.class), 
anyMap())).thenAnswer(invocation -> {
             return invocation.getArgument(0, JavaxModel2.class);
         });
 
@@ -250,7 +250,7 @@ public class ModelAdapterFactoryTest {
      */
     @SuppressWarnings("unchecked")
     @Test
-    public void 
testExportModelForRequestSlingJakartaHttpServletRequestStringClassOfTMapOfStringString()
+    void 
testExportModelForRequestSlingJakartaHttpServletRequestStringClassOfTMapOfStringString()
             throws ExportException, MissingExporterException {
         Map<String, String> options = Map.of();
         assertThrows(
@@ -258,9 +258,9 @@ public class ModelAdapterFactoryTest {
                 () -> factory.exportModelForRequest(jakartaRequest, 
"exporter1", JakartaModel1.class, options));
 
         ModelExporter mockExporter = 
context.registerService(ModelExporter.class, Mockito.mock(ModelExporter.class));
-        Mockito.when(mockExporter.getName()).thenReturn("exporter1");
-        
Mockito.when(mockExporter.isSupported(JakartaModel1.class)).thenReturn(true);
-        Mockito.when(mockExporter.export(any(), any(Class.class), 
anyMap())).thenAnswer(invocation -> {
+        when(mockExporter.getName()).thenReturn("exporter1");
+        when(mockExporter.isSupported(JakartaModel1.class)).thenReturn(true);
+        when(mockExporter.export(any(), any(Class.class), 
anyMap())).thenAnswer(invocation -> {
             return invocation.getArgument(0, JakartaModel1.class);
         });
 
@@ -277,7 +277,7 @@ public class ModelAdapterFactoryTest {
      */
     @Deprecated(since = "2.0.0")
     @Test
-    public void 
testGetModelFromWrappedRequestSlingHttpServletRequestResourceClassOfT() {
+    void 
testGetModelFromWrappedRequestSlingHttpServletRequestResourceClassOfT() {
         JavaxModel2 modelFromWrappedRequest =
                 factory.getModelFromWrappedRequest(javaxRequest, resource, 
JavaxModel2.class);
         assertNull(modelFromWrappedRequest);
@@ -296,7 +296,7 @@ public class ModelAdapterFactoryTest {
      * Test method for {@link 
org.apache.sling.models.impl.ModelAdapterFactory#getModelFromWrappedRequest(org.apache.sling.api.SlingJakartaHttpServletRequest,
 org.apache.sling.api.resource.Resource, java.lang.Class)}.
      */
     @Test
-    public void 
testGetModelFromWrappedRequestSlingJakartaHttpServletRequestResourceClassOfT() {
+    void 
testGetModelFromWrappedRequestSlingJakartaHttpServletRequestResourceClassOfT() {
         assertNotNull(factory.createModelFromWrappedRequest(jakartaRequest, 
resource, JakartaModel1.class));
 
         JakartaModel1 target = new JakartaModel1();
diff --git 
a/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_ImplementationPickerOrderTest.java
 
b/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_ImplementationPickerOrderTest.java
index 3bdac2d..991aca1 100644
--- 
a/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_ImplementationPickerOrderTest.java
+++ 
b/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_ImplementationPickerOrderTest.java
@@ -27,13 +27,13 @@ import org.apache.sling.models.spi.ImplementationPicker;
 import org.apache.sling.models.testutil.ModelAdapterFactoryUtil;
 import org.apache.sling.scripting.api.BindingsValuesProvidersByContext;
 import org.apache.sling.testing.mock.osgi.junit.OsgiContext;
+import org.apache.sling.testing.mock.osgi.junit5.OsgiContextExtension;
 import org.jetbrains.annotations.NotNull;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.junit.Assert.assertEquals;
 import static org.osgi.framework.Constants.SERVICE_RANKING;
@@ -42,11 +42,10 @@ import static org.osgi.framework.Constants.SERVICE_RANKING;
  * Tests in which order the implementation pickers are handled depending on 
service ranking.
  * For historic/backwards compatibility reasons, higher ranking value means 
lower priority (inverse to DS behavior).
  */
-@RunWith(MockitoJUnitRunner.class)
-public class ModelAdapterFactory_ImplementationPickerOrderTest {
+@ExtendWith({OsgiContextExtension.class, MockitoExtension.class})
+class ModelAdapterFactory_ImplementationPickerOrderTest {
 
-    @Rule
-    public final OsgiContext context = new OsgiContext();
+    final OsgiContext context = new OsgiContext();
 
     @Mock
     private AdapterManager adapterManager;
@@ -59,8 +58,8 @@ public class 
ModelAdapterFactory_ImplementationPickerOrderTest {
 
     private ModelAdapterFactory factory;
 
-    @Before
-    public void setUp() {
+    @BeforeEach
+    void setUp() {
         context.registerService(BindingsValuesProvidersByContext.class, 
bindingsValuesProvidersByContext);
         context.registerService(AdapterManager.class, adapterManager);
         factory = 
context.registerInjectActivateService(ModelAdapterFactory.class);
@@ -69,7 +68,7 @@ public class 
ModelAdapterFactory_ImplementationPickerOrderTest {
     }
 
     @Test
-    public void testFirstImplementationPicker() {
+    void testFirstImplementationPicker() {
         context.registerService(
                 ImplementationPicker.class, new FirstImplementationPicker(), 
SERVICE_RANKING, Integer.MAX_VALUE);
 
@@ -78,7 +77,7 @@ public class 
ModelAdapterFactory_ImplementationPickerOrderTest {
     }
 
     @Test
-    public void testMultipleImplementationPickers() {
+    void testMultipleImplementationPickers() {
         // LastImplementationPicker has higher priority
         context.registerService(
                 ImplementationPicker.class, new FirstImplementationPicker(), 
SERVICE_RANKING, Integer.MAX_VALUE);
diff --git 
a/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_InjectorOrderTest.java
 
b/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_InjectorOrderTest.java
index 6e3321a..5494bef 100644
--- 
a/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_InjectorOrderTest.java
+++ 
b/src/test/java/org/apache/sling/models/impl/ModelAdapterFactory_InjectorOrderTest.java
@@ -33,27 +33,26 @@ import 
org.apache.sling.models.impl.injectors.ValueMapInjector;
 import org.apache.sling.models.spi.Injector;
 import org.apache.sling.models.testutil.ModelAdapterFactoryUtil;
 import org.apache.sling.scripting.api.BindingsValuesProvidersByContext;
-import org.apache.sling.testing.mock.osgi.junit.OsgiContext;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.sling.testing.mock.osgi.junit5.OsgiContext;
+import org.apache.sling.testing.mock.osgi.junit5.OsgiContextExtension;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.when;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.lenient;
 import static org.osgi.framework.Constants.SERVICE_RANKING;
 
 /**
  * Tests in which order the injectors are handled depending on service ranking.
  * For historic/backwards compatibility reasons, higher ranking value means 
lower priority (inverse to DS behavior).
  */
-@RunWith(MockitoJUnitRunner.class)
-public class ModelAdapterFactory_InjectorOrderTest {
+@ExtendWith({OsgiContextExtension.class, MockitoExtension.class})
+class ModelAdapterFactory_InjectorOrderTest {
 
-    @Rule
-    public final OsgiContext context = new OsgiContext();
+    final OsgiContext context = new OsgiContext();
 
     @Mock
     private AdapterManager adapterManager;
@@ -70,21 +69,21 @@ public class ModelAdapterFactory_InjectorOrderTest {
     private ModelAdapterFactory factory;
 
     @SuppressWarnings("null")
-    @Before
-    public void setUp() {
+    @BeforeEach
+    void setUp() {
         context.registerService(BindingsValuesProvidersByContext.class, 
bindingsValuesProvidersByContext);
         context.registerService(AdapterManager.class, adapterManager);
         factory = 
context.registerInjectActivateService(ModelAdapterFactory.class);
 
         ModelAdapterFactoryUtil.addModelsForPackage(context.bundleContext(), 
TestModel.class);
 
-        when(request.getResource()).thenReturn(resource);
-        when(resource.adaptTo(ValueMap.class)).thenReturn(new 
ValueMapDecorator(Map.of("prop1", 1)));
-        when(request.getAttribute("prop1")).thenReturn(2);
+        lenient().when(request.getResource()).thenReturn(resource);
+        lenient().when(resource.adaptTo(ValueMap.class)).thenReturn(new 
ValueMapDecorator(Map.of("prop1", 1)));
+        lenient().when(request.getAttribute("prop1")).thenReturn(2);
     }
 
     @Test
-    public void testSingleInjector_ValueMap() {
+    void testSingleInjector_ValueMap() {
         context.registerService(Injector.class, new ValueMapInjector(), 
SERVICE_RANKING, 2000);
 
         TestModel model = factory.createModel(request, TestModel.class);
@@ -92,7 +91,7 @@ public class ModelAdapterFactory_InjectorOrderTest {
     }
 
     @Test
-    public void testSingleInjector_RequestAttribute() {
+    void testSingleInjector_RequestAttribute() {
         context.registerService(Injector.class, new 
RequestAttributeInjector(), SERVICE_RANKING, 4000);
 
         TestModel model = factory.createModel(request, TestModel.class);
@@ -100,7 +99,7 @@ public class ModelAdapterFactory_InjectorOrderTest {
     }
 
     @Test
-    public void testMultipleInjectors() {
+    void testMultipleInjectors() {
         // ValueMapInjector has higher priority
         context.registerService(Injector.class, new 
RequestAttributeInjector(), SERVICE_RANKING, 4000);
         context.registerService(Injector.class, new ValueMapInjector(), 
SERVICE_RANKING, 2000);
diff --git 
a/src/test/java/org/apache/sling/models/impl/ModelPackageBundleListenerTest.java
 
b/src/test/java/org/apache/sling/models/impl/ModelPackageBundleListenerTest.java
index 3f340fc..56449a1 100644
--- 
a/src/test/java/org/apache/sling/models/impl/ModelPackageBundleListenerTest.java
+++ 
b/src/test/java/org/apache/sling/models/impl/ModelPackageBundleListenerTest.java
@@ -26,21 +26,24 @@ import java.util.Hashtable;
 import org.apache.sling.models.testmodels.classes.ChildModel;
 import 
org.apache.sling.models.testmodels.classes.SimpleModelWithInvalidSecondAnnotation;
 import org.apache.sling.models.testmodels.classes.annotations.Hidden;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.mockito.stubbing.Answer;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
 import org.springframework.core.OverridingClassLoader;
 
-@RunWith(MockitoJUnitRunner.class)
-public class ModelPackageBundleListenerTest {
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.when;
+
+@ExtendWith(MockitoExtension.class)
+class ModelPackageBundleListenerTest {
 
     @Mock
     private BundleContext mockBundleContext;
@@ -79,25 +82,25 @@ public class ModelPackageBundleListenerTest {
     }
 
     @Test
-    public void testAddingBundleWithResolvableModelAnnotation() throws 
ClassNotFoundException {
-        Assert.assertFalse(
-                "Model should not yet have been registered but was",
-                adapterImplementations.isModelClass(ChildModel.class));
+    void testAddingBundleWithResolvableModelAnnotation() throws 
ClassNotFoundException {
+        assertFalse(
+                adapterImplementations.isModelClass(ChildModel.class),
+                "Model should not yet have been registered but was");
         ModelPackageBundleListener listener = 
createListenerForBundleWithClass(ChildModel.class);
         listener.addingBundle(mockBundle, new BundleEvent(BundleEvent.STARTED, 
mockBundle));
-        Assert.assertTrue(
-                "Model should have been registered but was not", 
adapterImplementations.isModelClass(ChildModel.class));
+        assertTrue(
+                adapterImplementations.isModelClass(ChildModel.class), "Model 
should have been registered but was not");
     }
 
     @Test
-    public void testAddingBundleWithNonResolvableNonModelAnnotation() throws 
ClassNotFoundException {
+    void testAddingBundleWithNonResolvableNonModelAnnotation() throws 
ClassNotFoundException {
         ClassLoader classLoader = new 
HideClassesClassLoader(this.getClass().getClassLoader(), 
Hidden.class.getName());
         ModelPackageBundleListener listener =
                 createListenerForBundleWithClass(classLoader, 
SimpleModelWithInvalidSecondAnnotation.class.getName());
         listener.addingBundle(mockBundle, new BundleEvent(BundleEvent.STARTED, 
mockBundle));
-        Assert.assertFalse(
-                "Model should not yet have been registered but was",
-                
adapterImplementations.isModelClass(SimpleModelWithInvalidSecondAnnotation.class));
+        assertFalse(
+                
adapterImplementations.isModelClass(SimpleModelWithInvalidSecondAnnotation.class),
+                "Model should not yet have been registered but was");
     }
 
     private ModelPackageBundleListener 
createListenerForBundleWithClass(Class<?> modelClass)
@@ -109,8 +112,8 @@ public class ModelPackageBundleListenerTest {
             throws ClassNotFoundException {
         Dictionary<String, String> headers = new Hashtable<>();
         headers.put(ModelPackageBundleListener.CLASSES_HEADER, className);
-        Mockito.when(mockBundle.getHeaders()).thenReturn(headers);
-        Mockito.when(mockBundle.loadClass(Mockito.anyString())).thenAnswer(new 
Answer<Class<?>>() {
+        when(mockBundle.getHeaders()).thenReturn(headers);
+        when(mockBundle.loadClass(anyString())).thenAnswer(new 
Answer<Class<?>>() {
             @Override
             public Class<?> answer(InvocationOnMock invocation) throws 
Throwable {
                 Object argument = invocation.getArguments()[0];
diff --git 
a/src/test/java/org/apache/sling/models/impl/MultipleInjectorTest.java 
b/src/test/java/org/apache/sling/models/impl/MultipleInjectorTest.java
index adff2b6..8dac5fc 100644
--- a/src/test/java/org/apache/sling/models/impl/MultipleInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/MultipleInjectorTest.java
@@ -29,21 +29,21 @@ import org.apache.sling.models.annotations.Source;
 import org.apache.sling.models.factory.ModelClassException;
 import org.apache.sling.models.impl.injectors.BindingsInjector;
 import org.apache.sling.models.impl.injectors.RequestAttributeInjector;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.Spy;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.mockito.Mockito.lenient;
-import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
-public class MultipleInjectorTest {
+@ExtendWith(MockitoExtension.class)
+class MultipleInjectorTest {
 
     @Spy
     private BindingsInjector bindingsInjector;
@@ -58,8 +58,8 @@ public class MultipleInjectorTest {
 
     private SlingBindings bindings;
 
-    @Before
-    public void setup() {
+    @BeforeEach
+    void setup() {
         bindings = new SlingBindings();
 
         factory = AdapterFactoryTest.createModelAdapterFactory();
@@ -67,13 +67,13 @@ public class MultipleInjectorTest {
         factory.injectors = Arrays.asList(bindingsInjector, 
attributesInjector);
         factory.bindStaticInjectAnnotationProcessorFactory(bindingsInjector, 
new ServicePropertiesMap(1, 1));
 
-        
when(request.getAttribute(SlingBindings.class.getName())).thenReturn(bindings);
+        
lenient().when(request.getAttribute(SlingBindings.class.getName())).thenReturn(bindings);
         factory.adapterImplementations.addClassesAsAdapterAndImplementation(
                 ForTwoInjectorsWithSource.class, ForTwoInjectors.class, 
ForTwoInjectorsWithInvalidSource.class);
     }
 
     @Test
-    public void testInjectorOrder() {
+    void testInjectorOrder() {
         String bindingsValue = "bindings value";
         bindings.put("firstAttribute", bindingsValue);
 
@@ -87,12 +87,12 @@ public class MultipleInjectorTest {
     }
 
     @Test
-    public void testInjectorOrderWithSource() {
+    void testInjectorOrderWithSource() {
         String bindingsValue = "bindings value";
         bindings.put("firstAttribute", bindingsValue);
 
         String attributeValue = "attribute value";
-        
when(request.getAttribute("firstAttribute")).thenReturn(attributeValue);
+        
lenient().when(request.getAttribute("firstAttribute")).thenReturn(attributeValue);
 
         ForTwoInjectorsWithSource obj = factory.getAdapter(request, 
ForTwoInjectorsWithSource.class);
 
@@ -101,14 +101,15 @@ public class MultipleInjectorTest {
     }
 
     @Test
-    public void testInjectorWithInvalidSource() {
+    void testInjectorWithInvalidSource() {
         ForTwoInjectorsWithInvalidSource obj = factory.getAdapter(request, 
ForTwoInjectorsWithInvalidSource.class);
         assertNull(obj);
     }
 
-    @Test(expected = ModelClassException.class)
-    public void testInjectorWithInvalidSourceWithException() {
-        factory.createModel(request, ForTwoInjectorsWithInvalidSource.class);
+    @Test
+    void testInjectorWithInvalidSourceWithException() {
+        assertThrows(
+                ModelClassException.class, () -> factory.createModel(request, 
ForTwoInjectorsWithInvalidSource.class));
     }
 
     @Model(adaptables = SlingJakartaHttpServletRequest.class)
diff --git a/src/test/java/org/apache/sling/models/impl/OSGiInjectionTest.java 
b/src/test/java/org/apache/sling/models/impl/OSGiInjectionTest.java
index a0fc22f..4f2b62e 100644
--- a/src/test/java/org/apache/sling/models/impl/OSGiInjectionTest.java
+++ b/src/test/java/org/apache/sling/models/impl/OSGiInjectionTest.java
@@ -36,29 +36,30 @@ import 
org.apache.sling.models.testmodels.classes.SetOSGiModel;
 import org.apache.sling.models.testmodels.classes.SimpleOSGiModel;
 import org.apache.sling.models.testmodels.interfaces.ServiceInterface;
 import org.hamcrest.Matchers;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleListener;
 import org.osgi.framework.ServiceReference;
 
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
-public class OSGiInjectionTest {
+@ExtendWith(MockitoExtension.class)
+class OSGiInjectionTest {
     private ModelAdapterFactory factory;
 
     @Mock
@@ -69,8 +70,8 @@ public class OSGiInjectionTest {
 
     private SlingBindings bindings = new SlingBindings();
 
-    @Before
-    public void setup() {
+    @BeforeEach
+    void setup() {
         factory = AdapterFactoryTest.createModelAdapterFactory(bundleContext);
 
         OSGiServiceInjector injectorFactory = new OSGiServiceInjector();
@@ -92,13 +93,13 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({"unchecked", "null"})
-    public void testSimpleOSGiModelField() throws Exception {
-        ServiceReference ref = mock(ServiceReference.class);
+    @SuppressWarnings({"null"})
+    void testSimpleOSGiModelField() throws Exception {
+        ServiceReference<?> ref = mock(ServiceReference.class);
         ServiceInterface service = mock(ServiceInterface.class);
         
when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null))
                 .thenReturn(new ServiceReference[] {ref});
-        when(bundleContext.getService(ref)).thenReturn(service);
+        doReturn(service).when(bundleContext).getService(ref);
 
         Resource res = mock(Resource.class);
 
@@ -111,14 +112,14 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({"unchecked", "null"})
-    public void testListOSGiModelField() throws Exception {
-        ServiceReference ref1 = mock(ServiceReference.class);
+    @SuppressWarnings({"null"})
+    void testListOSGiModelField() throws Exception {
+        ServiceReference<?> ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref1)).thenReturn(service1);
-        ServiceReference ref2 = mock(ServiceReference.class);
+        doReturn(service1).when(bundleContext).getService(ref1);
+        ServiceReference<?> ref2 = mock(ServiceReference.class);
         ServiceInterface service2 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref2)).thenReturn(service2);
+        doReturn(service2).when(bundleContext).getService(ref2);
 
         
when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null))
                 .thenReturn(new ServiceReference[] {ref1, ref2});
@@ -136,14 +137,14 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({"unchecked", "null"})
-    public void testArrayOSGiModelField() throws Exception {
-        ServiceReference ref1 = mock(ServiceReference.class);
+    @SuppressWarnings({"null"})
+    void testArrayOSGiModelField() throws Exception {
+        ServiceReference<?> ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref1)).thenReturn(service1);
-        ServiceReference ref2 = mock(ServiceReference.class);
+        doReturn(service1).when(bundleContext).getService(ref1);
+        ServiceReference<?> ref2 = mock(ServiceReference.class);
         ServiceInterface service2 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref2)).thenReturn(service2);
+        doReturn(service2).when(bundleContext).getService(ref2);
 
         
when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null))
                 .thenReturn(new ServiceReference[] {ref1, ref2});
@@ -162,7 +163,7 @@ public class OSGiInjectionTest {
 
     @Test
     @SuppressWarnings("null")
-    public void testOptionalArrayOSGiModelField() throws Exception {
+    void testOptionalArrayOSGiModelField() {
 
         Resource res = mock(Resource.class);
 
@@ -175,7 +176,7 @@ public class OSGiInjectionTest {
 
     @Test
     @SuppressWarnings("null")
-    public void testOptionalListOSGiModelField() throws Exception {
+    void testOptionalListOSGiModelField() {
         Resource res = mock(Resource.class);
 
         OptionalListOSGiModel model = factory.getAdapter(res, 
OptionalListOSGiModel.class);
@@ -186,14 +187,14 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({"unchecked", "null"})
-    public void testCollectionOSGiModelField() throws Exception {
-        ServiceReference ref1 = mock(ServiceReference.class);
+    @SuppressWarnings({"null"})
+    void testCollectionOSGiModelField() throws Exception {
+        ServiceReference<?> ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref1)).thenReturn(service1);
-        ServiceReference ref2 = mock(ServiceReference.class);
+        doReturn(service1).when(bundleContext).getService(ref1);
+        ServiceReference<?> ref2 = mock(ServiceReference.class);
         ServiceInterface service2 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref2)).thenReturn(service2);
+        doReturn(service2).when(bundleContext).getService(ref2);
 
         
when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null))
                 .thenReturn(new ServiceReference[] {ref1, ref2});
@@ -211,14 +212,14 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({"unused", "unchecked", "null"})
-    public void testSetOSGiModelField() throws Exception {
-        ServiceReference ref1 = mock(ServiceReference.class);
+    @SuppressWarnings({"unused", "null"})
+    void testSetOSGiModelField() throws Exception {
+        ServiceReference<?> ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
-        lenient().when(bundleContext.getService(ref1)).thenReturn(service1);
-        ServiceReference ref2 = mock(ServiceReference.class);
+        lenient().doReturn(service1).when(bundleContext).getService(ref1);
+        ServiceReference<?> ref2 = mock(ServiceReference.class);
         ServiceInterface service2 = mock(ServiceInterface.class);
-        lenient().when(bundleContext.getService(ref2)).thenReturn(service2);
+        lenient().doReturn(service2).when(bundleContext).getService(ref2);
 
         lenient()
                 
.when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), 
null))
@@ -238,13 +239,13 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({"unchecked", "null"})
-    public void testSimpleOSGiModelConstructor() throws Exception {
-        ServiceReference ref = mock(ServiceReference.class);
+    @SuppressWarnings({"null"})
+    void testSimpleOSGiModelConstructor() throws Exception {
+        ServiceReference<?> ref = mock(ServiceReference.class);
         ServiceInterface service = mock(ServiceInterface.class);
         
when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null))
                 .thenReturn(new ServiceReference[] {ref});
-        when(bundleContext.getService(ref)).thenReturn(service);
+        doReturn(service).when(bundleContext).getService(ref);
 
         Resource res = mock(Resource.class);
 
@@ -258,14 +259,14 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({"unchecked", "null"})
-    public void testListOSGiModelConstructor() throws Exception {
-        ServiceReference ref1 = mock(ServiceReference.class);
+    @SuppressWarnings({"null"})
+    void testListOSGiModelConstructor() throws Exception {
+        ServiceReference<?> ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref1)).thenReturn(service1);
-        ServiceReference ref2 = mock(ServiceReference.class);
+        doReturn(service1).when(bundleContext).getService(ref1);
+        ServiceReference<?> ref2 = mock(ServiceReference.class);
         ServiceInterface service2 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref2)).thenReturn(service2);
+        doReturn(service2).when(bundleContext).getService(ref2);
 
         
when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null))
                 .thenReturn(new ServiceReference[] {ref1, ref2});
diff --git 
a/src/test/java/org/apache/sling/models/impl/OptionalObjectsTest.java 
b/src/test/java/org/apache/sling/models/impl/OptionalObjectsTest.java
index 541315d..678a2c4 100644
--- a/src/test/java/org/apache/sling/models/impl/OptionalObjectsTest.java
+++ b/src/test/java/org/apache/sling/models/impl/OptionalObjectsTest.java
@@ -31,24 +31,26 @@ import 
org.apache.sling.models.impl.via.BeanPropertyViaProvider;
 import 
org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessorFactory;
 import 
org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessorFactory2;
 import org.apache.sling.models.testmodels.classes.OptionalObjectsModel;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 
-import static org.junit.Assert.*;
-import static org.mockito.ArgumentMatchers.eq;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
-public class OptionalObjectsTest {
+@ExtendWith(MockitoExtension.class)
+class OptionalObjectsTest {
 
     private ModelAdapterFactory factory;
 
@@ -63,8 +65,8 @@ public class OptionalObjectsTest {
     @Mock
     private Logger log;
 
-    @Before
-    public void setup() {
+    @BeforeEach
+    void setup() {
         factory = AdapterFactoryTest.createModelAdapterFactory();
 
         osgiInjector = new OSGiServiceInjector();
@@ -89,13 +91,13 @@ public class OptionalObjectsTest {
 
         SlingBindings bindings = new SlingBindings();
         bindings.setLog(log);
-        
Mockito.when(request.getAttribute(SlingBindings.class.getName())).thenReturn(bindings);
+        
lenient().when(request.getAttribute(SlingBindings.class.getName())).thenReturn(bindings);
 
         
factory.adapterImplementations.addClassesAsAdapterAndImplementation(OptionalObjectsModel.class);
     }
 
     @Test
-    public void testFieldInjectionClass() {
+    void testFieldInjectionClass() {
         Map<String, Object> map = new HashMap<>();
         map.put("optionalString", "foo bar baz");
         map.put("optionalByte", Byte.valueOf("1"));
@@ -147,7 +149,7 @@ public class OptionalObjectsTest {
     }
 
     @Test
-    public void testFieldInjectionListsAndArrays() {
+    void testFieldInjectionListsAndArrays() {
         Map<String, Object> map = new HashMap<>();
 
         map.put("intList", new Integer[] {1, 2, 9, 8});
@@ -178,11 +180,11 @@ public class OptionalObjectsTest {
     }
 
     @Test
-    public void testFieldInjectionsChildResource() throws Exception {
+    void testFieldInjectionsChildResource() {
         Resource res = mock(Resource.class);
         Resource child = mock(Resource.class);
-        when(child.getName()).thenReturn("child");
-        when(res.getChild(eq("child"))).thenReturn(child);
+        lenient().when(child.getName()).thenReturn("child");
+        lenient().when(res.getChild("child")).thenReturn(child);
 
         OptionalObjectsModel model = factory.getAdapter(res, 
OptionalObjectsModel.class);
         assertNotNull(model);
@@ -192,7 +194,7 @@ public class OptionalObjectsTest {
     }
 
     @Test
-    public void testFieldInjectionsScriptVariable() throws Exception {
+    void testFieldInjectionsScriptVariable() {
         SlingBindings bindings = new SlingBindings();
         SlingScriptHelper helper = mock(SlingScriptHelper.class);
         bindings.setSling(helper);
@@ -205,21 +207,24 @@ public class OptionalObjectsTest {
     }
 
     @Test
-    public void testFieldInjectionsOSGiService() throws InvalidSyntaxException 
{
-        ServiceReference ref = mock(ServiceReference.class);
-        Logger log = mock(Logger.class);
-        when(bundleContext.getServiceReferences(Logger.class.getName(), 
null)).thenReturn(new ServiceReference[] {ref});
-        when(bundleContext.getService(ref)).thenReturn(log);
+    void testFieldInjectionsOSGiService() throws InvalidSyntaxException {
+        ServiceReference<?> ref = mock(ServiceReference.class);
+        Logger logger = mock(Logger.class);
+        lenient()
+                
.when(bundleContext.getServiceReferences(Logger.class.getName(), null))
+                .thenReturn(new ServiceReference[] {ref});
+
+        doReturn(logger).when(bundleContext).getService(ref);
 
         OptionalObjectsModel model = factory.getAdapter(request, 
OptionalObjectsModel.class);
         assertNotNull(model);
-        assertEquals(log, model.getLog().get());
+        assertEquals(logger, model.getLog().get());
     }
 
     @Test
-    public void testFieldInjectionsRequestAttribute() throws 
InvalidSyntaxException {
+    void testFieldInjectionsRequestAttribute() {
         Object attribute = new Object();
-        when(request.getAttribute("attribute")).thenReturn(attribute);
+        
lenient().when(request.getAttribute("attribute")).thenReturn(attribute);
 
         OptionalObjectsModel model = factory.getAdapter(request, 
OptionalObjectsModel.class);
         assertNotNull(model);
diff --git 
a/src/test/java/org/apache/sling/models/impl/OptionalPrimitivesTest.java 
b/src/test/java/org/apache/sling/models/impl/OptionalPrimitivesTest.java
index 32bdfd6..ca8ae09 100644
--- a/src/test/java/org/apache/sling/models/impl/OptionalPrimitivesTest.java
+++ b/src/test/java/org/apache/sling/models/impl/OptionalPrimitivesTest.java
@@ -24,14 +24,14 @@ import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ValueMap;
 import org.apache.sling.models.impl.injectors.ChildResourceInjector;
 import org.apache.sling.models.impl.injectors.ValueMapInjector;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.junit.MockitoJUnitRunner;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -39,13 +39,13 @@ import static org.mockito.Mockito.when;
 /**
  * Validates that @Optional annotations works with primitive values which do 
not support null
  */
-@RunWith(MockitoJUnitRunner.class)
-public class OptionalPrimitivesTest {
+@ExtendWith(MockitoExtension.class)
+class OptionalPrimitivesTest {
 
     private ModelAdapterFactory factory;
 
-    @Before
-    public void setup() {
+    @BeforeEach
+    void setup() {
         factory = AdapterFactoryTest.createModelAdapterFactory();
         factory.injectors = Arrays.asList(new ChildResourceInjector(), new 
ValueMapInjector());
         factory.adapterImplementations.addClassesAsAdapterAndImplementation(
@@ -55,7 +55,7 @@ public class OptionalPrimitivesTest {
     }
 
     @Test
-    public void testFieldInjectionClass() {
+    void testFieldInjectionClass() {
         ValueMap vm = ValueMap.EMPTY;
 
         Resource res = mock(Resource.class);
@@ -87,7 +87,7 @@ public class OptionalPrimitivesTest {
     }
 
     @Test
-    public void testConstructorInjection() {
+    void testConstructorInjection() {
         ValueMap vm = ValueMap.EMPTY;
 
         Resource res = mock(Resource.class);
@@ -121,7 +121,7 @@ public class OptionalPrimitivesTest {
     }
 
     @Test
-    public void testFieldInjectionInterface() {
+    void testFieldInjectionInterface() {
         ValueMap vm = ValueMap.EMPTY;
 
         Resource res = mock(Resource.class);


Reply via email to