【发布时间】:2021-08-18 09:26:25
【问题描述】:
我正在使用 @SpringBatchTest 注释进行 Spring Batch 单元测试,该注释应该自动添加 JobLauncherTestUtils 和 JobRepositoryTestUtils 的 bean。
这里是 Job 配置类:
@Configuration
@EnableBatchProcessing
public class JobConfiguration {
@Bean
public Job getJob(JobBuilderFactory jobBuilderFactory,
@Qualifier("flow_master") Flow flowMaster) {
return jobBuilderFactory.get("job")
.incrementer(new RunIdIncrementer())
.start(flowMaster)
.build().build();
}
}
这是测试类:
@ExtendWith(SpringExtension.class)
@SpringBatchTest
@ContextConfiguration(classes = JobConfiguration.class)
public class SpringBatchTest {
@Autowired
private JobLauncherTestUtils jobLauncherTestUtils;
@Before
public void clearJobExecutions() {
this.jobRepositoryTestUtils.removeJobExecutions();
}
@Test
public void testMyJob() throws Exception {
JobParameters jobParameters = this.jobLauncherTestUtils.getUniqueJobParameters();
JobExecution jobExecution = this.jobLauncherTestUtils.launchJob(jobParameters);
Assert.assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus());
}
}
问题:
我收到错误消息:
- 无法自动接线。找不到“JobLauncherTestUtils”类型的 bean。
我已经克隆了一些应该可以工作的 repo 示例,但我都遇到了同样的错误。
我错过了什么吗?
【问题讨论】:
标签: java spring unit-testing testing spring-batch