diff --git a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/ResetMocksTestExecutionListener.java b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/ResetMocksTestExecutionListener.java index 6e65391053e..0eccd5523bf 100644 --- a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/ResetMocksTestExecutionListener.java +++ b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/ResetMocksTestExecutionListener.java @@ -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. @@ -30,6 +30,7 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.test.context.TestContext; import org.springframework.test.context.TestExecutionListener; import org.springframework.test.context.support.AbstractTestExecutionListener; +import org.springframework.util.ClassUtils; /** * {@link TestExecutionListener} to reset any mock beans that have been marked with a @@ -40,14 +41,22 @@ import org.springframework.test.context.support.AbstractTestExecutionListener; */ public class ResetMocksTestExecutionListener extends AbstractTestExecutionListener { + private static final boolean MOCKITO_IS_PRESENT = ClassUtils.isPresent( + "org.mockito.MockSettings", + ResetMocksTestExecutionListener.class.getClassLoader()); + @Override public void beforeTestMethod(TestContext testContext) throws Exception { - resetMocks(testContext.getApplicationContext(), MockReset.BEFORE); + if (MOCKITO_IS_PRESENT) { + resetMocks(testContext.getApplicationContext(), MockReset.BEFORE); + } } @Override public void afterTestMethod(TestContext testContext) throws Exception { - resetMocks(testContext.getApplicationContext(), MockReset.AFTER); + if (MOCKITO_IS_PRESENT) { + resetMocks(testContext.getApplicationContext(), MockReset.AFTER); + } } private void resetMocks(ApplicationContext applicationContext, MockReset reset) { diff --git a/spring-boot-samples/spring-boot-sample-test-nomockito/src/test/java/sample/testnomockito/SampleTestNoMockitoApplicationTest.java b/spring-boot-samples/spring-boot-sample-test-nomockito/src/test/java/sample/testnomockito/SampleTestNoMockitoApplicationTests.java similarity index 93% rename from spring-boot-samples/spring-boot-sample-test-nomockito/src/test/java/sample/testnomockito/SampleTestNoMockitoApplicationTest.java rename to spring-boot-samples/spring-boot-sample-test-nomockito/src/test/java/sample/testnomockito/SampleTestNoMockitoApplicationTests.java index 70e89a1f24b..42963d80084 100644 --- a/spring-boot-samples/spring-boot-sample-test-nomockito/src/test/java/sample/testnomockito/SampleTestNoMockitoApplicationTest.java +++ b/spring-boot-samples/spring-boot-sample-test-nomockito/src/test/java/sample/testnomockito/SampleTestNoMockitoApplicationTests.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Madhura Bhave */ @RunWith(SpringRunner.class) -public class SampleTestNoMockitoApplicationTest { +public class SampleTestNoMockitoApplicationTests { // gh-7065