diff --git a/module/spring-boot-batch/build.gradle b/module/spring-boot-batch/build.gradle index d2da8e0be5d..f5266912303 100644 --- a/module/spring-boot-batch/build.gradle +++ b/module/spring-boot-batch/build.gradle @@ -40,3 +40,7 @@ dependencies { testRuntimeOnly("com.fasterxml.jackson.core:jackson-databind") testRuntimeOnly("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") } + +tasks.named("compileTestJava") { + options.nullability.checking = "tests" +} diff --git a/module/spring-boot-batch/src/test/java/org/springframework/boot/batch/autoconfigure/BatchJobLauncherAutoConfigurationTests.java b/module/spring-boot-batch/src/test/java/org/springframework/boot/batch/autoconfigure/BatchJobLauncherAutoConfigurationTests.java index 1ffbab43f4b..e653456d515 100644 --- a/module/spring-boot-batch/src/test/java/org/springframework/boot/batch/autoconfigure/BatchJobLauncherAutoConfigurationTests.java +++ b/module/spring-boot-batch/src/test/java/org/springframework/boot/batch/autoconfigure/BatchJobLauncherAutoConfigurationTests.java @@ -39,6 +39,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; /** * Tests for {@link BatchJobLauncherAutoConfiguration}. @@ -78,9 +79,10 @@ class BatchJobLauncherAutoConfigurationTests { .run((context) -> { assertThat(context).hasSingleBean(JobOperator.class); context.getBean(JobLauncherApplicationRunner.class).run(); - assertThat(context.getBean(JobRepository.class) - .getLastJobExecution("discreteRegisteredJob", new JobParameters()) - .getStatus()).isEqualTo(BatchStatus.COMPLETED); + JobExecution lastJobExecution = context.getBean(JobRepository.class) + .getLastJobExecution("discreteRegisteredJob", new JobParameters()); + assertThat(lastJobExecution).isNotNull(); + assertThat(lastJobExecution.getStatus()).isEqualTo(BatchStatus.COMPLETED); }); } @@ -100,8 +102,11 @@ class BatchJobLauncherAutoConfigurationTests { void testMultipleJobsAndNoJobName() { this.contextRunner.withUserConfiguration(MultipleJobConfiguration.class).run((context) -> { assertThat(context).hasFailed(); - assertThat(context.getStartupFailure().getCause().getMessage()) - .contains("Job name must be specified in case of multiple jobs"); + Throwable startupFailure = context.getStartupFailure(); + assertThat(startupFailure).isNotNull(); + Throwable cause = startupFailure.getCause(); + assertThat(cause).isNotNull(); + assertThat(cause.getMessage()).contains("Job name must be specified in case of multiple jobs"); }); } @@ -146,7 +151,7 @@ class BatchJobLauncherAutoConfigurationTests { @Override public Step getStep(String stepName) { - return null; + return mock(Step.class); } @Override @@ -183,7 +188,7 @@ class BatchJobLauncherAutoConfigurationTests { @Override public Step getStep(String stepName) { - return null; + return mock(Step.class); } @Override @@ -214,7 +219,7 @@ class BatchJobLauncherAutoConfigurationTests { @Override public Step getStep(String stepName) { - return null; + return mock(Step.class); } @Override @@ -260,7 +265,7 @@ class BatchJobLauncherAutoConfigurationTests { @Override public Step getStep(String stepName) { - return null; + return mock(Step.class); } @Override