我尝试在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:{}
1条答案
按热度按时间l3zydbqr1#
没有类型为“org.springframework.batch.core.repository.JobRepository”的合格Bean可用
此错误意味着在您的测试应用程序上下文中没有定义
JobRepository
bean。请确保导入定义此bean的类。