弹簧批量测试单作业



我正试图为春季批处理应用程序编写集成测试,在我的项目中有大约10+个工作我想只运行一个作业,但无法实现任何建议。

@SpringBatchTest
@RunWith(SpringRunner.class)
@ContextConfiguration(classes= MyApp.class)
@SpringBootTest
@Slf4j
public class JobATest {

JobLauncherTestUtils jobLauncherTestUtils = new JobLauncherTestUtils();
@Autowired
@Qualifier(JOB_A)
Job joba;
@Before
public void setUp() throws Exception {
log.debug("CAME HERE  setUp {} ",joba.getName());
jobLauncherTestUtils.setJob(joba);
}
@After
public void tearDown() throws Exception {
}

@Test
public void processAJob() throws Exception {
jobLauncherTestUtils.launchJob();
} 
}

误差

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'jobLauncherTestUtils': Unsatisfied dependency expressed 
through method 'setJob' parameter 0; nested exception is 
org.springframework.beans.factory.NoUniqueBeanDefinitionException:
No qualifying bean of type 'org.springframework.batch.core.Job' available: 
expected single matching bean but found 2: **joba,jobb**

当使用@SpringBatchTest时,期望测试上下文包含单个作业bean。在注释的javadoc中提到了这一点。

有一个开放的问题,我们可能会考虑下一个主要版本。如果您有改进的建议,请投票或添加评论。我还邀请您使用@SpringBatchTest检查多作业单元测试上的线程,这也可以帮助您。

相关内容

  • 没有找到相关文章

最新更新