You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2021/12/03 08:45:57 UTC

[sling-org-apache-sling-models-impl] branch master updated: cosmetic: update testing dependencies

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 2312e13  cosmetic: update testing dependencies
2312e13 is described below

commit 2312e13683b644b75de8a9e8580bdc96061dd245
Author: Stefan Seifert <st...@users.noreply.github.com>
AuthorDate: Fri Dec 3 09:45:45 2021 +0100

    cosmetic: update testing dependencies
---
 pom.xml                                            | 19 +++++++++---
 .../sling/models/impl/AdapterFactoryTest.java      |  2 +-
 .../models/impl/AdapterImplementationsTest.java    |  9 +++---
 .../sling/models/impl/AnnotationConflictsTest.java |  2 +-
 .../org/apache/sling/models/impl/CachingTest.java  |  2 +-
 .../apache/sling/models/impl/ConstructorTest.java  |  6 ++--
 .../sling/models/impl/CustomInjectorTest.java      |  2 +-
 .../org/apache/sling/models/impl/DefaultTest.java  |  9 +++---
 .../sling/models/impl/ExtraDefaultTests.java       |  2 +-
 .../sling/models/impl/ImplementsExtendsTest.java   | 21 +++++++------
 .../impl/InjectorSpecificAnnotationTest.java       |  2 +-
 .../models/impl/InterfaceInheritanceTest.java      |  2 +-
 .../sling/models/impl/InvalidAdaptationsTest.java  | 12 ++++----
 .../impl/ModelPackageBundleListenerTest.java       |  2 +-
 .../sling/models/impl/MultipleInjectorTest.java    |  5 ++--
 .../sling/models/impl/OSGiInjectionTest.java       | 23 ++++++++-------
 .../sling/models/impl/OptionalPrimitivesTest.java  |  7 +++--
 .../ParameterizedTypeFromRequestAttributeTest.java |  2 +-
 .../sling/models/impl/PostConstructTest.java       |  2 +-
 .../sling/models/impl/RequestDisposalTest.java     |  4 +--
 .../sling/models/impl/RequestInjectionTest.java    |  2 +-
 .../sling/models/impl/RequestWrapperTest.java      | 34 +++++++---------------
 .../models/impl/ResourceModelClassesTest.java      | 25 ++++++++--------
 .../models/impl/ResourceModelConstructorTest.java  | 26 ++++++++---------
 .../models/impl/ResourceModelInterfacesTest.java   | 25 ++++++++--------
 .../models/impl/ResourcePathInjectionTest.java     | 23 ++++++++-------
 .../sling/models/impl/SelfDependencyTest.java      |  8 ++---
 .../impl/StaticInjectionAPFLoadOrderTest.java      |  2 +-
 .../java/org/apache/sling/models/impl/ViaTest.java |  2 +-
 .../impl/injectors/BindingsInjectorTest.java       |  2 +-
 .../injectors/RequestAttributeInjectorTest.java    |  2 +-
 .../injectors/ResourceResolverInjectorTest.java    |  2 +-
 .../models/impl/injectors/SelfInjectorTest.java    | 16 +++++-----
 .../injectors/SlingObjectInjectorRequestTest.java  |  2 +-
 .../SlingObjectInjectorResourceResolverTest.java   |  2 +-
 .../injectors/SlingObjectInjectorResourceTest.java |  2 +-
 .../impl/injectors/ValueMapInjectorTest.java       |  2 +-
 .../impl/via/ChildResourceViaProviderTest.java     |  2 +-
 38 files changed, 161 insertions(+), 153 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6aba679..371807c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,6 +103,17 @@
             <version>1.3.6</version>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.tracker</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.http.whiteboard</artifactId>
+            <version>1.1.0</version>
+            <scope>provided</scope>
+        </dependency>
         <!-- OSGi annotations -->
         <dependency>
             <groupId>org.osgi</groupId>
@@ -174,14 +185,14 @@
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-            <version>2.3.2</version>
+            <artifactId>org.apache.sling.testing.osgi-mock.junit4</artifactId>
+            <version>3.2.0</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.9.5</version>
+            <artifactId>mockito-core</artifactId>
+            <version>4.1.0</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/src/test/java/org/apache/sling/models/impl/AdapterFactoryTest.java b/src/test/java/org/apache/sling/models/impl/AdapterFactoryTest.java
index e6a71e4..8b20b31 100644
--- a/src/test/java/org/apache/sling/models/impl/AdapterFactoryTest.java
+++ b/src/test/java/org/apache/sling/models/impl/AdapterFactoryTest.java
@@ -51,7 +51,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.component.ComponentContext;
 import org.osgi.util.converter.Converter;
diff --git a/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java b/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java
index 1cfc541..ddb5071 100644
--- a/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java
+++ b/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java
@@ -20,6 +20,7 @@ package org.apache.sling.models.impl;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.when;
 
 import java.util.Arrays;
@@ -34,7 +35,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -247,9 +248,9 @@ public class AdapterImplementationsTest {
 
     @Test
     public void testResourceTypeRegistrationForResourceWithoutResourceType() {
-        when(resource.getResourceType()).thenReturn(null);
-        when(resource.getResourceResolver()).thenReturn(resourceResolver);
-        when(resourceResolver.getSearchPath()).thenReturn(new String[] { "/apps/", "/libs/" });
+        lenient().when(resource.getResourceType()).thenReturn(null);
+        lenient().when(resource.getResourceResolver()).thenReturn(resourceResolver);
+        lenient().when(resourceResolver.getSearchPath()).thenReturn(new String[] { "/apps/", "/libs/" });
 
         // ensure we don't have any registrations and no exception is thrown
         assertNull(underTest.getModelClassForResource(resource));
diff --git a/src/test/java/org/apache/sling/models/impl/AnnotationConflictsTest.java b/src/test/java/org/apache/sling/models/impl/AnnotationConflictsTest.java
index f4e0a9d..7d74428 100644
--- a/src/test/java/org/apache/sling/models/impl/AnnotationConflictsTest.java
+++ b/src/test/java/org/apache/sling/models/impl/AnnotationConflictsTest.java
@@ -43,7 +43,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @SuppressWarnings("deprecation")
 @RunWith(MockitoJUnitRunner.class)
diff --git a/src/test/java/org/apache/sling/models/impl/CachingTest.java b/src/test/java/org/apache/sling/models/impl/CachingTest.java
index 9fc175f..ac37d55 100644
--- a/src/test/java/org/apache/sling/models/impl/CachingTest.java
+++ b/src/test/java/org/apache/sling/models/impl/CachingTest.java
@@ -40,7 +40,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Spy;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class CachingTest {
diff --git a/src/test/java/org/apache/sling/models/impl/ConstructorTest.java b/src/test/java/org/apache/sling/models/impl/ConstructorTest.java
index ff7e0de..5507a5c 100644
--- a/src/test/java/org/apache/sling/models/impl/ConstructorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ConstructorTest.java
@@ -16,10 +16,10 @@
  */
 package org.apache.sling.models.impl;
 
+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.Assert.assertThat;
 import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -52,7 +52,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ConstructorTest {
@@ -196,7 +196,7 @@ public class ConstructorTest {
     }
 
     @Test
-    @SuppressWarnings({ "deprecation", "null" })
+    @SuppressWarnings("null")
     public void testViaInjectionModel() throws Exception {
         Resource suffixResource = mock(Resource.class);
         when(suffixResource.getPath()).thenReturn("/the/suffix");
diff --git a/src/test/java/org/apache/sling/models/impl/CustomInjectorTest.java b/src/test/java/org/apache/sling/models/impl/CustomInjectorTest.java
index d737674..c84c714 100644
--- a/src/test/java/org/apache/sling/models/impl/CustomInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/CustomInjectorTest.java
@@ -31,7 +31,7 @@ import org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessorFac
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @SuppressWarnings("deprecation")
 @RunWith(MockitoJUnitRunner.class)
diff --git a/src/test/java/org/apache/sling/models/impl/DefaultTest.java b/src/test/java/org/apache/sling/models/impl/DefaultTest.java
index 57e130d..4963853 100644
--- a/src/test/java/org/apache/sling/models/impl/DefaultTest.java
+++ b/src/test/java/org/apache/sling/models/impl/DefaultTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -37,7 +38,7 @@ import org.apache.sling.models.testmodels.interfaces.PropertyModelWithDefaults;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class DefaultTest {
@@ -119,7 +120,7 @@ public class DefaultTest {
         ValueMap vm = new ValueMapDecorator(Collections.<String, Object>emptyMap());
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(vm);
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(vm);
 
         org.apache.sling.models.testmodels.classes.constructorinjection.DefaultStringModel model
                 = factory.getAdapter(res, org.apache.sling.models.testmodels.classes.constructorinjection.DefaultStringModel.class);
@@ -133,7 +134,7 @@ public class DefaultTest {
         ValueMap vm = new ValueMapDecorator(Collections.<String, Object>emptyMap());
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(vm);
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(vm);
 
         org.apache.sling.models.testmodels.classes.constructorinjection.DefaultPrimitivesModel model
                 = factory.getAdapter(res, org.apache.sling.models.testmodels.classes.constructorinjection.DefaultPrimitivesModel.class);
@@ -152,7 +153,7 @@ public class DefaultTest {
         ValueMap vm = new ValueMapDecorator(Collections.<String, Object>emptyMap());
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(vm);
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(vm);
 
         org.apache.sling.models.testmodels.classes.constructorinjection.DefaultWrappersModel model
                 = factory.getAdapter(res, org.apache.sling.models.testmodels.classes.constructorinjection.DefaultWrappersModel.class);
diff --git a/src/test/java/org/apache/sling/models/impl/ExtraDefaultTests.java b/src/test/java/org/apache/sling/models/impl/ExtraDefaultTests.java
index b55520c..03576be 100644
--- a/src/test/java/org/apache/sling/models/impl/ExtraDefaultTests.java
+++ b/src/test/java/org/apache/sling/models/impl/ExtraDefaultTests.java
@@ -28,7 +28,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ExtraDefaultTests {
diff --git a/src/test/java/org/apache/sling/models/impl/ImplementsExtendsTest.java b/src/test/java/org/apache/sling/models/impl/ImplementsExtendsTest.java
index 1cd6cd9..3520722 100644
--- a/src/test/java/org/apache/sling/models/impl/ImplementsExtendsTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ImplementsExtendsTest.java
@@ -19,10 +19,9 @@ package org.apache.sling.models.impl;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -56,7 +55,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -87,7 +86,7 @@ public class ImplementsExtendsTest {
     @SuppressWarnings("unchecked")
     @Before
     public void setup() throws ClassNotFoundException, MalformedURLException {
-        when(bundleContext.registerService(anyString(), anyObject(), any(Dictionary.class))).then(new Answer<ServiceRegistration>() {
+        when(bundleContext.registerService(anyString(), any(), any(Dictionary.class))).then(new Answer<ServiceRegistration>() {
             @Override
             public ServiceRegistration<?> answer(InvocationOnMock invocation) throws Throwable {
                 final Dictionary<String, Object> props = (Dictionary<String, Object>)invocation.getArguments()[2];
@@ -132,7 +131,7 @@ public class ImplementsExtendsTest {
             }
         });
 
-        registeredAdapterFactories = (ServiceRegistration[])factory.listener.addingBundle(bundle, bundleEvent);
+        registeredAdapterFactories = factory.listener.addingBundle(bundle, bundleEvent);
     }
 
     private URL getClassUrl(Class<?> clazz) throws MalformedURLException {
@@ -144,14 +143,14 @@ public class ImplementsExtendsTest {
     public void tearDown() {
         // simulate bundle remove for ModelPackageBundleListener
         factory.listener.removedBundle(bundle, bundleEvent, registeredAdapterFactories);
-        
+
         // make sure adaption is not longer possible: implementation class mapping is removed
         Resource res = getMockResourceWithProps();
         try {
             factory.getAdapter(res, SampleServiceInterface.class);
             Assert.fail("Getting the model for interface 'SampleServiceInterface' should fail after the accroding adapter factory has been unregistered");
         } catch (ModelClassException e) {
-            
+
         }
     }
 
@@ -177,13 +176,13 @@ public class ImplementsExtendsTest {
         factory.unbindImplementationPicker(firstImplementationPicker, firstImplementationPickerProps);
 
         Resource res = getMockResourceWithProps();
-        
+
         SampleServiceInterface model = factory.getAdapter(res, ImplementsInterfacePropertyModel.class);
         assertNotNull(model);
         assertEquals("first-value|null|third-value", model.getAllProperties());
         assertTrue(factory.canCreateFromAdaptable(res, ImplementsInterfacePropertyModel.class));
     }
-    
+
     /**
      * Try to adapt in a case where there is no picker available.
      * The case where the class is the adapter still works.
diff --git a/src/test/java/org/apache/sling/models/impl/InjectorSpecificAnnotationTest.java b/src/test/java/org/apache/sling/models/impl/InjectorSpecificAnnotationTest.java
index b746150..2b96c43 100644
--- a/src/test/java/org/apache/sling/models/impl/InjectorSpecificAnnotationTest.java
+++ b/src/test/java/org/apache/sling/models/impl/InjectorSpecificAnnotationTest.java
@@ -45,7 +45,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.InvalidSyntaxException;
diff --git a/src/test/java/org/apache/sling/models/impl/InterfaceInheritanceTest.java b/src/test/java/org/apache/sling/models/impl/InterfaceInheritanceTest.java
index e9b97c7..66a54b5 100644
--- a/src/test/java/org/apache/sling/models/impl/InterfaceInheritanceTest.java
+++ b/src/test/java/org/apache/sling/models/impl/InterfaceInheritanceTest.java
@@ -35,7 +35,7 @@ import org.apache.sling.models.testmodels.interfaces.SuperClassModel;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @SuppressWarnings("deprecation")
 @RunWith(MockitoJUnitRunner.class)
diff --git a/src/test/java/org/apache/sling/models/impl/InvalidAdaptationsTest.java b/src/test/java/org/apache/sling/models/impl/InvalidAdaptationsTest.java
index 50b9fe7..eb6e151 100644
--- a/src/test/java/org/apache/sling/models/impl/InvalidAdaptationsTest.java
+++ b/src/test/java/org/apache/sling/models/impl/InvalidAdaptationsTest.java
@@ -17,8 +17,8 @@
 package org.apache.sling.models.impl;
 
 import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.Collections;
 import java.util.Map;
@@ -35,7 +35,7 @@ import org.apache.sling.models.impl.injectors.ValueMapInjector;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class InvalidAdaptationsTest {
@@ -54,7 +54,7 @@ public class InvalidAdaptationsTest {
         Map<String, Object> emptyMap = Collections.<String, Object> emptyMap();
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
 
         assertNull(factory.getAdapter(res, NonModel.class));
     }
@@ -64,7 +64,7 @@ public class InvalidAdaptationsTest {
         Map<String, Object> emptyMap = Collections.<String, Object> emptyMap();
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
 
         assertNull(factory.createModel(res, NonModel.class));
     }
@@ -74,7 +74,7 @@ public class InvalidAdaptationsTest {
         Map<String, Object> emptyMap = Collections.<String, Object> emptyMap();
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
 
         assertNull(factory.getAdapter(res, RequestModel.class));
     }
@@ -84,7 +84,7 @@ public class InvalidAdaptationsTest {
         Map<String, Object> emptyMap = Collections.<String, Object> emptyMap();
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(new ValueMapDecorator(emptyMap));
 
         assertNull(factory.createModel(res, RequestModel.class));
     }
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 2e3c846..0872409 100644
--- a/src/test/java/org/apache/sling/models/impl/ModelPackageBundleListenerTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ModelPackageBundleListenerTest.java
@@ -30,7 +30,7 @@ import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
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 6b70827..64da4c8 100644
--- a/src/test/java/org/apache/sling/models/impl/MultipleInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/MultipleInjectorTest.java
@@ -19,6 +19,7 @@ package org.apache.sling.models.impl;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.when;
 
 import javax.inject.Inject;
@@ -35,7 +36,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Spy;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class MultipleInjectorTest {
@@ -74,7 +75,7 @@ public class MultipleInjectorTest {
         bindings.put("firstAttribute", bindingsValue);
 
         String attributeValue = "attribute value";
-        when(request.getAttribute("firstAttribute")).thenReturn(attributeValue);
+        lenient().when(request.getAttribute("firstAttribute")).thenReturn(attributeValue);
 
         ForTwoInjectors obj = factory.getAdapter(request, ForTwoInjectors.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 0cae0ae..044b7c6 100644
--- a/src/test/java/org/apache/sling/models/impl/OSGiInjectionTest.java
+++ b/src/test/java/org/apache/sling/models/impl/OSGiInjectionTest.java
@@ -16,12 +16,13 @@
  */
 package org.apache.sling.models.impl;
 
+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.Assert.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -48,7 +49,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleListener;
 import org.osgi.framework.ServiceReference;
@@ -97,7 +98,7 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({ "unchecked", "null", "deprecation" })
+    @SuppressWarnings({ "unchecked", "null" })
     public void testListOSGiModelField() throws Exception {
         ServiceReference ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
@@ -122,7 +123,7 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({ "unchecked", "null", "deprecation" })
+    @SuppressWarnings({ "unchecked", "null" })
     public void testArrayOSGiModelField() throws Exception {
         ServiceReference ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
@@ -172,7 +173,7 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({ "unchecked", "null", "deprecation" })
+    @SuppressWarnings({ "unchecked", "null" })
     public void testCollectionOSGiModelField() throws Exception {
         ServiceReference ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
@@ -201,12 +202,12 @@ public class OSGiInjectionTest {
     public void testSetOSGiModelField() throws Exception {
         ServiceReference ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref1)).thenReturn(service1);
+        lenient().when(bundleContext.getService(ref1)).thenReturn(service1);
         ServiceReference ref2 = mock(ServiceReference.class);
         ServiceInterface service2 = mock(ServiceInterface.class);
-        when(bundleContext.getService(ref2)).thenReturn(service2);
+        lenient().when(bundleContext.getService(ref2)).thenReturn(service2);
 
-        when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null)).thenReturn(
+        lenient().when(bundleContext.getServiceReferences(ServiceInterface.class.getName(), null)).thenReturn(
                 new ServiceReference[] { ref1, ref2 });
 
         Resource res = mock(Resource.class);
@@ -243,7 +244,7 @@ public class OSGiInjectionTest {
     }
 
     @Test
-    @SuppressWarnings({ "deprecation", "unchecked", "null" })
+    @SuppressWarnings({ "unchecked", "null" })
     public void testListOSGiModelConstructor() throws Exception {
         ServiceReference ref1 = mock(ServiceReference.class);
         ServiceInterface service1 = mock(ServiceInterface.class);
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 3c98943..c98e954 100644
--- a/src/test/java/org/apache/sling/models/impl/OptionalPrimitivesTest.java
+++ b/src/test/java/org/apache/sling/models/impl/OptionalPrimitivesTest.java
@@ -19,6 +19,7 @@ package org.apache.sling.models.impl;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -29,7 +30,7 @@ import org.apache.sling.models.impl.injectors.ValueMapInjector;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 /**
  * Validates that @Optional annotations works with primitive values which do not support null
@@ -84,7 +85,7 @@ public class OptionalPrimitivesTest {
         ValueMap vm = ValueMap.EMPTY;
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(vm);
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(vm);
 
         org.apache.sling.models.testmodels.classes.constructorinjection.OptionalPrimitivesModel model
                 = factory.getAdapter(res, org.apache.sling.models.testmodels.classes.constructorinjection.OptionalPrimitivesModel.class);
@@ -116,7 +117,7 @@ public class OptionalPrimitivesTest {
         ValueMap vm = ValueMap.EMPTY;
 
         Resource res = mock(Resource.class);
-        when(res.adaptTo(ValueMap.class)).thenReturn(vm);
+        lenient().when(res.adaptTo(ValueMap.class)).thenReturn(vm);
 
         org.apache.sling.models.testmodels.interfaces.OptionalPrimitivesModel model
                 = factory.getAdapter(res, org.apache.sling.models.testmodels.interfaces.OptionalPrimitivesModel.class);
diff --git a/src/test/java/org/apache/sling/models/impl/ParameterizedTypeFromRequestAttributeTest.java b/src/test/java/org/apache/sling/models/impl/ParameterizedTypeFromRequestAttributeTest.java
index 5396a64..6564e7b 100644
--- a/src/test/java/org/apache/sling/models/impl/ParameterizedTypeFromRequestAttributeTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ParameterizedTypeFromRequestAttributeTest.java
@@ -35,7 +35,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ParameterizedTypeFromRequestAttributeTest {
diff --git a/src/test/java/org/apache/sling/models/impl/PostConstructTest.java b/src/test/java/org/apache/sling/models/impl/PostConstructTest.java
index 5fb8045..90c1b92 100644
--- a/src/test/java/org/apache/sling/models/impl/PostConstructTest.java
+++ b/src/test/java/org/apache/sling/models/impl/PostConstructTest.java
@@ -32,7 +32,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class PostConstructTest {
diff --git a/src/test/java/org/apache/sling/models/impl/RequestDisposalTest.java b/src/test/java/org/apache/sling/models/impl/RequestDisposalTest.java
index fea9b97..61e3e0f 100644
--- a/src/test/java/org/apache/sling/models/impl/RequestDisposalTest.java
+++ b/src/test/java/org/apache/sling/models/impl/RequestDisposalTest.java
@@ -19,7 +19,7 @@ package org.apache.sling.models.impl;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.when;
 
@@ -48,7 +48,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
 @RunWith(MockitoJUnitRunner.class)
diff --git a/src/test/java/org/apache/sling/models/impl/RequestInjectionTest.java b/src/test/java/org/apache/sling/models/impl/RequestInjectionTest.java
index 3b06844..41923a0 100644
--- a/src/test/java/org/apache/sling/models/impl/RequestInjectionTest.java
+++ b/src/test/java/org/apache/sling/models/impl/RequestInjectionTest.java
@@ -31,7 +31,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.slf4j.LoggerFactory;
 
 @RunWith(MockitoJUnitRunner.class)
diff --git a/src/test/java/org/apache/sling/models/impl/RequestWrapperTest.java b/src/test/java/org/apache/sling/models/impl/RequestWrapperTest.java
index 68f7d3a..04bef4d 100644
--- a/src/test/java/org/apache/sling/models/impl/RequestWrapperTest.java
+++ b/src/test/java/org/apache/sling/models/impl/RequestWrapperTest.java
@@ -17,9 +17,9 @@
 package org.apache.sling.models.impl;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -35,15 +35,13 @@ import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.scripting.SlingBindings;
 import org.apache.sling.scripting.api.BindingsValuesProvider;
 import org.apache.sling.scripting.api.BindingsValuesProvidersByContext;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatcher;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class RequestWrapperTest {
@@ -87,31 +85,21 @@ public class RequestWrapperTest {
         verify(bindingsValuesProvider, times(1)).addBindings(argThat(bindingsHasResource(resource)));
     }
 
-    private Matcher<Bindings> bindingsHasResource(final Resource resource) {
-        return new TypeSafeMatcher<Bindings>() {
+    private ArgumentMatcher<Bindings> bindingsHasResource(final Resource resource) {
+        return new ArgumentMatcher<Bindings>() {
             @Override
-            protected boolean matchesSafely(Bindings bindings) {
+            public boolean matches(Bindings bindings) {
                 return bindings.get(SlingBindings.RESOURCE) == resource;
             }
-
-            @Override
-            public void describeTo(Description description) {
-                description.appendText("a bindings object with the resource " + resource);
-            }
         };
     }
 
-    private Matcher<SlingHttpServletRequest> requestHasResource(final Resource resource) {
-        return new TypeSafeMatcher<SlingHttpServletRequest>() {
+    private ArgumentMatcher<SlingHttpServletRequest> requestHasResource(final Resource resource) {
+        return new ArgumentMatcher<SlingHttpServletRequest>() {
             @Override
-            protected boolean matchesSafely(SlingHttpServletRequest slingHttpServletRequest) {
+            public boolean matches(SlingHttpServletRequest slingHttpServletRequest) {
                 return slingHttpServletRequest.getResource().equals(resource);
             }
-
-            @Override
-            public void describeTo(Description description) {
-                description.appendText("a request with the resource " + resource);
-            }
         };
     }
 
diff --git a/src/test/java/org/apache/sling/models/impl/ResourceModelClassesTest.java b/src/test/java/org/apache/sling/models/impl/ResourceModelClassesTest.java
index bab7029..8bbdbf8 100644
--- a/src/test/java/org/apache/sling/models/impl/ResourceModelClassesTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ResourceModelClassesTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -54,7 +55,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
 @SuppressWarnings("deprecation")
@@ -288,8 +289,8 @@ public class ResourceModelClassesTest {
         ValueMap firstMap = new ValueMapDecorator(Collections.singletonMap("property", firstValue));
 
         final Resource firstChild = mock(Resource.class);
-        when(firstChild.adaptTo(ValueMap.class)).thenReturn(firstMap);
-        when(firstChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(firstChild.adaptTo(ValueMap.class)).thenReturn(firstMap);
+        lenient().when(firstChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         Object firstGrandChildValue = RandomStringUtils.randomAlphabetic(10);
         ValueMap firstGrandChildMap = new ValueMapDecorator(Collections.singletonMap("property", firstGrandChildValue));
@@ -297,23 +298,23 @@ public class ResourceModelClassesTest {
         ValueMap secondGrandChildMap = new ValueMapDecorator(Collections.singletonMap("property", secondGrandChildValue));
 
         final Resource firstGrandChild = mock(Resource.class);
-        when(firstGrandChild.adaptTo(ValueMap.class)).thenReturn(firstGrandChildMap);
-        when(firstGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(firstGrandChild.adaptTo(ValueMap.class)).thenReturn(firstGrandChildMap);
+        lenient().when(firstGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         final Resource secondGrandChild = mock(Resource.class);
-        when(secondGrandChild.adaptTo(ValueMap.class)).thenReturn(secondGrandChildMap);
-        when(secondGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(secondGrandChild.adaptTo(ValueMap.class)).thenReturn(secondGrandChildMap);
+        lenient().when(secondGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         Resource secondChild = mock(Resource.class);
-        when(secondChild.listChildren()).thenReturn(Arrays.asList(firstGrandChild, secondGrandChild).iterator());
+        lenient().when(secondChild.listChildren()).thenReturn(Arrays.asList(firstGrandChild, secondGrandChild).iterator());
 
         Resource emptyChild = mock(Resource.class);
-        when(emptyChild.listChildren()).thenReturn(Collections.<Resource>emptySet().iterator());
+        lenient().when(emptyChild.listChildren()).thenReturn(Collections.<Resource>emptySet().iterator());
 
         Resource res = mock(Resource.class);
-        when(res.getChild("firstChild")).thenReturn(firstChild);
-        when(res.getChild("secondChild")).thenReturn(secondChild);
-        when(res.getChild("emptyChild")).thenReturn(emptyChild);
+        lenient().when(res.getChild("firstChild")).thenReturn(firstChild);
+        lenient().when(res.getChild("secondChild")).thenReturn(secondChild);
+        lenient().when(res.getChild("emptyChild")).thenReturn(emptyChild);
 
         ParentModel model = factory.getAdapter(res, ParentModel.class);
         assertNotNull(model);
diff --git a/src/test/java/org/apache/sling/models/impl/ResourceModelConstructorTest.java b/src/test/java/org/apache/sling/models/impl/ResourceModelConstructorTest.java
index 185671c..55164b9 100644
--- a/src/test/java/org/apache/sling/models/impl/ResourceModelConstructorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ResourceModelConstructorTest.java
@@ -18,8 +18,8 @@ package org.apache.sling.models.impl;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.Arrays;
 import java.util.Collections;
@@ -36,7 +36,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -58,8 +58,8 @@ public class ResourceModelConstructorTest {
         ValueMap firstMap = new ValueMapDecorator(Collections.singletonMap("property", firstValue));
 
         final Resource firstChild = mock(Resource.class);
-        when(firstChild.adaptTo(ValueMap.class)).thenReturn(firstMap);
-        when(firstChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(firstChild.adaptTo(ValueMap.class)).thenReturn(firstMap);
+        lenient().when(firstChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         Object firstGrandChildValue = RandomStringUtils.randomAlphabetic(10);
         ValueMap firstGrandChildMap = new ValueMapDecorator(Collections.singletonMap("property", firstGrandChildValue));
@@ -67,23 +67,23 @@ public class ResourceModelConstructorTest {
         ValueMap secondGrandChildMap = new ValueMapDecorator(Collections.singletonMap("property", secondGrandChildValue));
 
         final Resource firstGrandChild = mock(Resource.class);
-        when(firstGrandChild.adaptTo(ValueMap.class)).thenReturn(firstGrandChildMap);
-        when(firstGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(firstGrandChild.adaptTo(ValueMap.class)).thenReturn(firstGrandChildMap);
+        lenient().when(firstGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         final Resource secondGrandChild = mock(Resource.class);
-        when(secondGrandChild.adaptTo(ValueMap.class)).thenReturn(secondGrandChildMap);
-        when(secondGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(secondGrandChild.adaptTo(ValueMap.class)).thenReturn(secondGrandChildMap);
+        lenient().when(secondGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         Resource secondChild = mock(Resource.class);
-        when(secondChild.listChildren()).thenReturn(Arrays.asList(firstGrandChild, secondGrandChild).iterator());
+        lenient().when(secondChild.listChildren()).thenReturn(Arrays.asList(firstGrandChild, secondGrandChild).iterator());
 
         Resource emptyChild = mock(Resource.class);
-        when(emptyChild.listChildren()).thenReturn(Collections.<Resource>emptySet().iterator());
+        lenient().when(emptyChild.listChildren()).thenReturn(Collections.<Resource>emptySet().iterator());
 
         Resource res = mock(Resource.class);
-        when(res.getChild("firstChild")).thenReturn(firstChild);
-        when(res.getChild("secondChild")).thenReturn(secondChild);
-        when(res.getChild("emptyChild")).thenReturn(emptyChild);
+        lenient().when(res.getChild("firstChild")).thenReturn(firstChild);
+        lenient().when(res.getChild("secondChild")).thenReturn(secondChild);
+        lenient().when(res.getChild("emptyChild")).thenReturn(emptyChild);
 
         ParentModel model = factory.getAdapter(res, ParentModel.class);
         assertNotNull(model);
diff --git a/src/test/java/org/apache/sling/models/impl/ResourceModelInterfacesTest.java b/src/test/java/org/apache/sling/models/impl/ResourceModelInterfacesTest.java
index 0b52d56..155aee9 100644
--- a/src/test/java/org/apache/sling/models/impl/ResourceModelInterfacesTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ResourceModelInterfacesTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -47,7 +48,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -135,8 +136,8 @@ public class ResourceModelInterfacesTest {
         ValueMap map = new ValueMapDecorator(props);
 
         final Resource firstChild = mock(Resource.class);
-        when(firstChild.adaptTo(ValueMap.class)).thenReturn(map);
-        when(firstChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(firstChild.adaptTo(ValueMap.class)).thenReturn(map);
+        lenient().when(firstChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         Object firstGrandChildValue = RandomStringUtils.randomAlphabetic(10);
         ValueMap firstGrandChildMap = new ValueMapDecorator(Collections.singletonMap("property", firstGrandChildValue));
@@ -144,23 +145,23 @@ public class ResourceModelInterfacesTest {
         ValueMap secondGrandChildMap = new ValueMapDecorator(Collections.singletonMap("property", secondGrandChildValue));
 
         final Resource firstGrandChild = mock(Resource.class);
-        when(firstGrandChild.adaptTo(ValueMap.class)).thenReturn(firstGrandChildMap);
-        when(firstGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(firstGrandChild.adaptTo(ValueMap.class)).thenReturn(firstGrandChildMap);
+        lenient().when(firstGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         final Resource secondGrandChild = mock(Resource.class);
-        when(secondGrandChild.adaptTo(ValueMap.class)).thenReturn(secondGrandChildMap);
-        when(secondGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
+        lenient().when(secondGrandChild.adaptTo(ValueMap.class)).thenReturn(secondGrandChildMap);
+        lenient().when(secondGrandChild.adaptTo(ChildModel.class)).thenAnswer(new AdaptToChildModel());
 
         Resource secondChild = mock(Resource.class);
-        when(secondChild.listChildren()).thenReturn(Arrays.asList(firstGrandChild, secondGrandChild).iterator());
+        lenient().when(secondChild.listChildren()).thenReturn(Arrays.asList(firstGrandChild, secondGrandChild).iterator());
 
         Resource emptyChild = mock(Resource.class);
-        when(emptyChild.listChildren()).thenReturn(Collections.<Resource>emptySet().iterator());
+        lenient().when(emptyChild.listChildren()).thenReturn(Collections.<Resource>emptySet().iterator());
 
         Resource res = mock(Resource.class);
-        when(res.getChild("firstChild")).thenReturn(firstChild);
-        when(res.getChild("secondChild")).thenReturn(secondChild);
-        when(res.getChild("emptyChild")).thenReturn(emptyChild);
+        lenient().when(res.getChild("firstChild")).thenReturn(firstChild);
+        lenient().when(res.getChild("secondChild")).thenReturn(secondChild);
+        lenient().when(res.getChild("emptyChild")).thenReturn(emptyChild);
 
         ParentModel model = factory.getAdapter(res, ParentModel.class);
         assertNotNull(model);
diff --git a/src/test/java/org/apache/sling/models/impl/ResourcePathInjectionTest.java b/src/test/java/org/apache/sling/models/impl/ResourcePathInjectionTest.java
index 686c23a..fca062f 100644
--- a/src/test/java/org/apache/sling/models/impl/ResourcePathInjectionTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ResourcePathInjectionTest.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.when;
 
 import java.util.HashMap;
@@ -44,7 +45,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ResourcePathInjectionTest {
@@ -52,7 +53,7 @@ public class ResourcePathInjectionTest {
 
     @Mock
     private Resource adaptable;
-    
+
     @Mock
     SlingHttpServletRequest nonResourceAdaptable;
 
@@ -79,7 +80,7 @@ public class ResourcePathInjectionTest {
         String[] paths= new String[2];
         paths[0]="/some/other/path";
         paths[1]="/some/other/path2";
-       
+
         String[] invalidPaths= new String[3];
         invalidPaths[0]="/does/not/exist";
         invalidPaths[1]="/does/not/exist2";
@@ -148,30 +149,30 @@ public class ResourcePathInjectionTest {
         assertNotNull(resourcesFromPathAnnotation);
         assertEquals(byPathResource, resourcesFromPathAnnotation.get(0));
         assertEquals(byPathResource2, resourcesFromPathAnnotation.get(1));
-        
+
         List<Resource> resourcesFromResourcePathAnnotation= model.getManyFromPath2();
         assertNotNull(resourcesFromResourcePathAnnotation);
         assertEquals(byPathResource2, resourcesFromResourcePathAnnotation.get(0));
         assertEquals(byPathResource, resourcesFromResourcePathAnnotation.get(1));
-        
+
         assertNotNull(model.getPropertyWithSeveralPaths());
         assertEquals(byPropertyValueResource, model.getPropertyWithSeveralPaths().get(0));
         assertEquals(byPropertyValueResource2, model.getPropertyWithSeveralPaths().get(1));
     }
- 
+
     @Test
     public void testPartialInjectionFailure1() {
         when(resourceResolver.getResource("/some/other/path")).thenReturn(null);
-        
+
         ResourcePathPartialModel model = factory.getAdapter(adaptable, ResourcePathPartialModel.class);
         assertNull(model);
     }
 
     @Test
-    public void testPartialInjectionFailure2() {       
-        when(resourceResolver.getResource("/some/other/path")).thenReturn(null);
-        when(resourceResolver.getResource("/some/other/path2")).thenReturn(null);
-        
+    public void testPartialInjectionFailure2() {
+        lenient().when(resourceResolver.getResource("/some/other/path")).thenReturn(null);
+        lenient().when(resourceResolver.getResource("/some/other/path2")).thenReturn(null);
+
         ResourcePathPartialModel model = factory.getAdapter(adaptable, ResourcePathPartialModel.class);
         assertNull(model);
     }
diff --git a/src/test/java/org/apache/sling/models/impl/SelfDependencyTest.java b/src/test/java/org/apache/sling/models/impl/SelfDependencyTest.java
index 854bf5b..1f0973f 100644
--- a/src/test/java/org/apache/sling/models/impl/SelfDependencyTest.java
+++ b/src/test/java/org/apache/sling/models/impl/SelfDependencyTest.java
@@ -19,8 +19,8 @@ package org.apache.sling.models.impl;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.lenient;
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.models.impl.injectors.SelfInjector;
@@ -34,7 +34,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -48,7 +48,7 @@ public class SelfDependencyTest {
     @SuppressWarnings("unchecked")
     @Before
     public void setup() {
-        when(request.adaptTo(any(Class.class))).then(new Answer<Object>() {
+        lenient().when(request.adaptTo(any(Class.class))).then(new Answer<Object>() {
             @Override
             public Object answer(InvocationOnMock invocation) throws Throwable {
                 Class<?> clazz = (Class<?>) invocation.getArguments()[0];
diff --git a/src/test/java/org/apache/sling/models/impl/StaticInjectionAPFLoadOrderTest.java b/src/test/java/org/apache/sling/models/impl/StaticInjectionAPFLoadOrderTest.java
index 88ec8f3..24bcb63 100644
--- a/src/test/java/org/apache/sling/models/impl/StaticInjectionAPFLoadOrderTest.java
+++ b/src/test/java/org/apache/sling/models/impl/StaticInjectionAPFLoadOrderTest.java
@@ -37,7 +37,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 /**
  * Test load order behavior of StaticInjectionAnnotationProcesssorFactory instances (SLING-5010).
diff --git a/src/test/java/org/apache/sling/models/impl/ViaTest.java b/src/test/java/org/apache/sling/models/impl/ViaTest.java
index a72ac4e..e72a6b5 100644
--- a/src/test/java/org/apache/sling/models/impl/ViaTest.java
+++ b/src/test/java/org/apache/sling/models/impl/ViaTest.java
@@ -36,7 +36,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ViaTest {
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/BindingsInjectorTest.java b/src/test/java/org/apache/sling/models/impl/injectors/BindingsInjectorTest.java
index fe60ccb..b499079 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/BindingsInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/BindingsInjectorTest.java
@@ -32,7 +32,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class BindingsInjectorTest {
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/RequestAttributeInjectorTest.java b/src/test/java/org/apache/sling/models/impl/injectors/RequestAttributeInjectorTest.java
index 5b9b581..a3ae8dc 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/RequestAttributeInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/RequestAttributeInjectorTest.java
@@ -31,7 +31,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class RequestAttributeInjectorTest {
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/ResourceResolverInjectorTest.java b/src/test/java/org/apache/sling/models/impl/injectors/ResourceResolverInjectorTest.java
index a429e4c..f8776ce 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/ResourceResolverInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/ResourceResolverInjectorTest.java
@@ -31,7 +31,7 @@ import org.apache.sling.models.spi.DisposalCallbackRegistry;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 /**
  * This was a unit test for the ResourceResolverInjector which is now removed
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/SelfInjectorTest.java b/src/test/java/org/apache/sling/models/impl/injectors/SelfInjectorTest.java
index 0d8b08b..02a790d 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/SelfInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/SelfInjectorTest.java
@@ -18,8 +18,10 @@
  */
 package org.apache.sling.models.impl.injectors;
 
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.lenient;
+import static org.mockito.Mockito.when;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.AnnotatedElement;
@@ -38,7 +40,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class SelfInjectorTest {
@@ -50,19 +52,19 @@ public class SelfInjectorTest {
 
     @Mock
     private AnnotatedElement annotatedElement;
-    
+
     @Mock
     private Model modelAnnotation;
 
     @Mock
     private DisposalCallbackRegistry registry;
-    
+
     private ConstructorParameter firstConstructorParameter;
     private ConstructorParameter secondConstructorParameter;
-    
+
     @Before
     public void setup() {
-        when(modelAnnotation.defaultInjectionStrategy()).thenReturn(DefaultInjectionStrategy.REQUIRED);
+        lenient().when(modelAnnotation.defaultInjectionStrategy()).thenReturn(DefaultInjectionStrategy.REQUIRED);
         firstConstructorParameter = new ConstructorParameter(new Annotation[0], Object.class, Object.class, true, 0,
                 new StaticInjectAnnotationProcessorFactory[0], null);
         secondConstructorParameter = new ConstructorParameter(new Annotation[0], Object.class, Object.class, true, 1,
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorRequestTest.java b/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorRequestTest.java
index e7a8cf3..93aab11 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorRequestTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorRequestTest.java
@@ -38,7 +38,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class SlingObjectInjectorRequestTest {
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceResolverTest.java b/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceResolverTest.java
index 5d8ee51..d2379a8 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceResolverTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceResolverTest.java
@@ -31,7 +31,7 @@ import org.apache.sling.models.spi.DisposalCallbackRegistry;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class SlingObjectInjectorResourceResolverTest {
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceTest.java b/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceTest.java
index 912112d..62ac700 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/SlingObjectInjectorResourceTest.java
@@ -34,7 +34,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class SlingObjectInjectorResourceTest {
diff --git a/src/test/java/org/apache/sling/models/impl/injectors/ValueMapInjectorTest.java b/src/test/java/org/apache/sling/models/impl/injectors/ValueMapInjectorTest.java
index c0081df..4b46789 100644
--- a/src/test/java/org/apache/sling/models/impl/injectors/ValueMapInjectorTest.java
+++ b/src/test/java/org/apache/sling/models/impl/injectors/ValueMapInjectorTest.java
@@ -31,7 +31,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ValueMapInjectorTest {
diff --git a/src/test/java/org/apache/sling/models/impl/via/ChildResourceViaProviderTest.java b/src/test/java/org/apache/sling/models/impl/via/ChildResourceViaProviderTest.java
index 7f32b6e..0271c0b 100644
--- a/src/test/java/org/apache/sling/models/impl/via/ChildResourceViaProviderTest.java
+++ b/src/test/java/org/apache/sling/models/impl/via/ChildResourceViaProviderTest.java
@@ -25,7 +25,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ChildResourceViaProviderTest {