Spring Batch JUnit 5 JobLauncherTestUtils未初始化

y53ybaqx  于 7个月前  发布在  Spring
关注(0)|答案(1)|浏览(83)

我尝试在JUnit 5和SpringBatchTest annotation中加载JobLauncherTestUtils对象。但是,它无法加载应用程序上下文。所有其他自动连接的bean都成功加载,但JobLauncherTestUtils无法加载。下面是我的测试配置,省略导入。我尝试在BeforeAll中手动加载它,但随后JobRepository和JobLauncher无法加载。我只对能够示例化JobLauncherTestUtils成功。请帮助!

@ExtendWith(SpringExtension.class)
@ExtendWith(MockitoExtension.class)
@SpringBatchTest
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class ,
    DirtiesContextTestExecutionListener.class})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
@EnableAutoConfiguration  
public class ProductsProcessorTest {

    @Autowired
    JobLauncherTestUtils jobLauncherTestUtils;

    @Autowired
    private JobRepositoryTestUtils jobRepositoryTestUtils;

    @MockBean
    JobLauncher jobLauncher;

    @Autowired
    JobRepository jobRepository;

    @Autowired
    OrderManagementService orderManagementService;

    @MockBean
    Job keyLoaderJob;

    @Autowired
    @JobScope
    static ProductsLoader productsLoader;

    //Tried manually instantiating it, but then would l
    @BeforeAll
    static void setUp() throws Exception {
        //jobLauncherTestUtils = new JobLauncherTestUtils();
    }

    //This does not work either
    @BeforeEach
    void init(){
        // jobLauncherTestUtils.setJobLauncher(jobLauncher);
        // jobLauncherTestUtils.setJobRepository(jobRepository);
    }

    // ....

   }

字符串
以下是我得到的例外:
原因:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“jobLauncherTestUtils”的bean时出错:通过方法“setJobRepository”参数0表示的依赖关系不满足;嵌套的异常为org.springframework.beans.factory. NoSuchBeanDependencyException:没有类型为“org.springframework.batch.core.repository.JobRepository”的合格bean可用:应至少有1个bean符合自动连接候选项的条件。Dependencyannotations:{}

l3zydbqr

l3zydbqr1#

没有类型为“org.springframework.batch.core.repository.JobRepository”的合格Bean可用
此错误意味着在您的测试应用程序上下文中没有定义JobRepository bean。请确保导入定义此bean的类。

相关问题