diff --git a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProvider.java b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProvider.java index 1d4910a77101..1d5a1208cf54 100644 --- a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProvider.java +++ b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProvider.java @@ -55,8 +55,8 @@ public interface ApplicationContextAssertProvider extends ApplicationContext, AssertProvider>, Closeable { /** - * Return an assert for AspectJ. - * @return an AspectJ assert + * Return an assert for AssertJ. + * @return an AssertJ assert * @deprecated to prevent accidental use. Prefer standard AssertJ * {@code assertThat(context)...} calls instead. */ @@ -131,6 +131,7 @@ static , C extends ApplicationCont Assert.isTrue(type.isInterface(), "'type' must be an interface"); Assert.notNull(contextType, "'contextType' must not be null"); Assert.isTrue(contextType.isInterface(), "'contextType' must be an interface"); + Assert.notNull(contextSupplier, "'contextSupplier' must not be null"); Class[] interfaces = merge(new Class[] { type, contextType }, additionalContextInterfaces); return (T) Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), interfaces, new AssertProviderApplicationContextInvocationHandler(contextType, contextSupplier)); diff --git a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProviderTests.java b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProviderTests.java index 6bd5a7103678..44f511f002c1 100644 --- a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProviderTests.java +++ b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/assertj/ApplicationContextAssertProviderTests.java @@ -20,9 +20,6 @@ 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.jupiter.MockitoExtension; import org.springframework.context.ApplicationContext; import org.springframework.context.ConfigurableApplicationContext; @@ -32,6 +29,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.mockito.BDDMockito.then; +import static org.mockito.Mockito.mock; /** * Tests for {@link ApplicationContextAssertProvider} and @@ -39,11 +37,9 @@ * * @author Phillip Webb */ -@ExtendWith(MockitoExtension.class) class ApplicationContextAssertProviderTests { - @Mock - private ConfigurableApplicationContext mockContext; + private final ConfigurableApplicationContext mockContext = mock(); private RuntimeException startupFailure; @@ -69,13 +65,6 @@ void getWhenTypeIsNullShouldThrowException() { @Test void getWhenTypeIsClassShouldThrowException() { - assertThatIllegalArgumentException().isThrownBy( - () -> ApplicationContextAssertProvider.get(null, ApplicationContext.class, this.mockContextSupplier)) - .withMessageContaining("'type' must not be null"); - } - - @Test - void getWhenContextTypeIsNullShouldThrowException() { assertThatIllegalArgumentException() .isThrownBy(() -> ApplicationContextAssertProvider.get(TestAssertProviderApplicationContextClass.class, ApplicationContext.class, this.mockContextSupplier)) @@ -83,7 +72,7 @@ void getWhenContextTypeIsNullShouldThrowException() { } @Test - void getWhenContextTypeIsClassShouldThrowException() { + void getWhenContextTypeIsNullShouldThrowException() { assertThatIllegalArgumentException() .isThrownBy(() -> ApplicationContextAssertProvider.get(TestAssertProviderApplicationContext.class, null, this.mockContextSupplier)) @@ -91,13 +80,21 @@ void getWhenContextTypeIsClassShouldThrowException() { } @Test - void getWhenSupplierIsNullShouldThrowException() { + void getWhenContextTypeIsClassShouldThrowException() { assertThatIllegalArgumentException() .isThrownBy(() -> ApplicationContextAssertProvider.get(TestAssertProviderApplicationContext.class, StaticApplicationContext.class, this.mockContextSupplier)) .withMessageContaining("'contextType' must be an interface"); } + @Test + void getWhenSupplierIsNullShouldThrowException() { + assertThatIllegalArgumentException() + .isThrownBy(() -> ApplicationContextAssertProvider.get(TestAssertProviderApplicationContext.class, + ApplicationContext.class, null)) + .withMessageContaining("'contextSupplier' must not be null"); + } + @Test void getWhenContextStartsShouldReturnProxyThatCallsRealMethods() { ApplicationContextAssertProvider context = get(this.mockContextSupplier);