当前位置: 首页 > 知识库问答 >
问题:

Spring批处理JUnit 5 JobLauncherTestUtils未初始化

暴夕
2023-03-14

我试图在JUnit 5和SpringBatchTest注释中加载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。豆。工厂UnsatisfiedPendencyException:创建名为“jobLauncherTestUtils”的bean时出错:通过方法“setJobRepository”参数0表示的未满足依赖项;嵌套的异常是org。springframework。豆。工厂NoSuchBean定义异常:没有“org”类型的合格bean。springframework。一批果心存储库。JobRepository’available:至少需要1个符合autowire候选资格的bean。依赖项注释:{}

共有1个答案

曾昂然
2023-03-14

没有“org”类型的合格bean。springframework。一批果心存储库。JobRepository’可用

此错误意味着测试应用程序上下文中没有定义JobRepositorybean。确保导入定义此bean的类。

 类似资料:
  • 我有一个Spring批处理工作,分两步。第一个下载文件,第二个处理文件。问题是,在第一步运行之前,第二步不知道文件的名称。 作业已自动实例化这些步骤,以便在需要时运行。我想不出任何方法来确保第一步运行后该步骤会初始化。 以下是代码: 你可以看到获取我在第一步的Tasklet中设置的局部变量。

  • 问题: 我正在为我的一个spring批处理作业方法编写单元测试。我使用mockito来模拟我的批处理作业依赖关系。在jobExecution发挥作用之前,一切都很好。我要测试的方法调用了jobExecution变量,但它给了我NPE(NullPointerException)并且我没有成功地用mockito模拟它。 删除此currentJobExecution时 从我要测试的方法,然后测试成功完成

  • 在Spring Boot上下文的初始化过程中,有什么方法可以处理异常吗? 我的案例是在作业执行过程中处理错误,并根据发生的异常做一些工作。 例如,我有一个由读者和作家组成的工作。读取器和写入器使用以下属性初始化:rootFolder、inFolder、outfolder。这个简单的作业从/rootfolder/infolder/test.txt读取文件,并将数据写入rootfolder/outfo

  • 我运行了一个spring批处理,它在开始和结束时运行函数,从此不再运行。我还有JobExecutionListenerSupport,它有和它运行这个方法,但不运行read and writer函数。 批处理配置 我怎么跑了好几次 和我的JobExecutionListenerSupport 控制台日志: 从运行中可以看出,没有调用读和写函数。它们只在初始化期间调用一次,再也不会调用了。

  • 我刚刚用Java8创建了springboot批处理应用程序,我想用Anotation为springbatch表创建一个数据库。 我想我必须创建配置文件,但我不知道怎么做。 @Configuration公共类ConfigBatch{ } 我导入“@ImportResource”生成一个错误,因为在我的java代码中有一个数据源,在我的xml文件中有一个数据源: 我只想在H2数据源中生成spring批

  • 我有一个compositeItemWriter,它有2个代理编写器:1。HeaderWriter将一些字段从我的对象写入头表2。DetailWriter将文件写入详细表。 context.xml: