spring.job.enabled: true 导致 junit 作业运行两次

Ric*_*hie 2 spring spring-batch spring-boot

我有一个 Spring Boot Spring Batch 项目。以下设置位于我的application.yml中

# Spring Framework Standard Properties
spring:
  batch:
    job.enabled: true
Run Code Online (Sandbox Code Playgroud)

当我将此设置设置为 true 时,如上所述,它会导致我的 junit 测试在每次启动单元测试时运行两次。

当我将设置更改为 false 时,当我启动相同的单元测试时,我的 junit 测试会运行一次。

有几个问题...

我不是 100% 清楚这个设置是什么。有人可以告诉我更多吗?

还有什么我可以在我的单元测试中放入任何东西来将其更改为 false 仅用于我的单元测试。

Mil*_*vić 5

来自官方文档:

默认情况下,将创建一个 Runner,并且上下文中的所有作业将在启动时执行。

使用spring.batch.job.enabled=false禁用此行为。