相关疑难解决方法(0)

针对多个作业的Spring Batch JUnit测试

我在一个上下文文件中配置了两个作业

<batch:job id="JobA" restartable="true">
        <batch:step id="abc">
            <batch:tasklet >
                <batch:chunk reader="reader" writer="writer" processor="processor"  />
            </batch:tasklet>
      </batch:step>

    </batch:job>

<batch:job id="JobB" restartable="true">
        <batch:step id="abc">
            <batch:tasklet >
                <batch:chunk reader="reader" writer="writer" processor="processor"  />
            </batch:tasklet>
      </batch:step>

    </batch:job>
Run Code Online (Sandbox Code Playgroud)

当我使用JobLauncherTestUtils和测试作业启动对JobA进行单元测试时,它会抛出异常说法

No unique bean of type [org.springframework.batch.core.Job;] is defined: expected single matching bean but found 2: [JobA, JobB]
Run Code Online (Sandbox Code Playgroud)

我尝试使用@Qualifierautowire仍然是相同的事情.我在哪里做错了

编辑

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:META-INF/spring/batch-test-context.xml" })
public class TestJob {

    @Autowired
    private JobExplorer jobExplorer;

    @Autowired
    @Qualifier("JobA")
    private Job JobA;


    @Autowired
    private JobLauncherTestUtils jobLauncherTestUtils;


    @Test
    public …
Run Code Online (Sandbox Code Playgroud)

spring spring-batch

6
推荐指数
3
解决办法
8464
查看次数

标签 统计

spring ×1

spring-batch ×1