Only check for Mockito once

Update `MockReset` so that checking for Mockito only happens once.

Closes gh-14260
This commit is contained in:
Phillip Webb 2018-09-05 13:24:14 -07:00
parent 02f2f62a4d
commit a9e8116a99

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -53,6 +53,9 @@ public enum MockReset {
*/
NONE;
private static final boolean MOCKITO_PRESENT = ClassUtils
.isPresent("org.mockito.internal.util.MockUtil", null);
/**
* Create {@link MockSettings settings} to be used with mocks where reset should occur
* before each test method runs.
@ -103,7 +106,7 @@ public enum MockReset {
@SuppressWarnings("rawtypes")
static MockReset get(Object mock) {
MockReset reset = MockReset.NONE;
if (ClassUtils.isPresent("org.mockito.internal.util.MockUtil", null)) {
if (MOCKITO_PRESENT) {
if (Mockito.mockingDetails(mock).isMock()) {
MockCreationSettings settings = MockitoApi.get().getMockSettings(mock);
List listeners = settings.getInvocationListeners();