我目前正在使用spring批處理的spring引導項目。我正嘗試使用JavaConfig而不是xml,但對於當前所有的xml文檔都很困難。Spring批處理Java配置JobLauncherTestUtils
我跟着https://blog.codecentric.de/en/2013/06/spring-batch-2-2-javaconfig-part-5-modular-configurations,但在使用JobLauncherTestUtils
時遇到困難。我知道我需要告訴測試使用正確的春天背景,但我似乎無法弄清楚如何去做。我得到以下錯誤:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.batch.test.JobLauncherTestUtils' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
我的測試如下所示:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {MyApplication.class, MyJobConfiguration.class})
public class RetrieveDividendsTest {
@Autowired
private JobLauncherTestUtils jobLauncherTestUtils;
@Test
public void testSomething() throws Exception {
jobLauncherTestUtils.launchJob();
}
}
您是否曾嘗試將TestExecutionListener註釋添加到測試類以注入配置的應用程序上下文? '@TestExecutionListeners({的DependencyInjectionTestExecutionListener.class, })' 看一看http://docs.spring.io/spring-batch/reference/html/testing.html#testingIndividualSteps怎麼看工作,如何在那裏測試單個步驟。 –
@Sander_M但要做到這一點,我需要有'JobLauncherTestUtils'工作這是我的問題。我正在嘗試進行端到端或個別步驟測試,而不僅僅是測試組件。 –