首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在JUnit测试用例中触发Spring批处理作业

在JUnit测试用例中触发Spring批处理作业
EN

Stack Overflow用户
提问于 2014-05-18 14:01:17
回答 1查看 10.3K关注 0票数 2

背景:

我目前正在开发一个应用程序,该应用程序使用Spring读取一组文件并将文件的内容缓存在内存中。然后,缓存的数据由业务逻辑层使用,业务逻辑层被划分为不同的类,每个类通过使用缓存中的数据来执行特定的业务功能。

需求

我被分配到单元测试业务逻辑层的任务。由于业务逻辑层假设数据将在缓存中可用,在测试业务逻辑类之前,我需要一种在单元测试中触发Spring批处理作业的方法。

问题:

我正在考虑编写一个父JUnit类,它将由测试业务逻辑的所有JUnit类进行扩展。这个父JUnit类将触发Spring作业,以在setUp方法中加载缓存。

  1. 在父JUnit类中触发Spring批处理作业的最佳方法是什么?
  2. 我的父JUnit类在src/test/java文件夹中能够访问src/main/resources/main文件夹中的Spring作业上下文文件吗?

请注意,目标是测试将使用Spring完成的工作的类,而不是测试Spring作业本身。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-19 14:48:44

要回答你的具体问题:

  1. 为了从JUnit测试中启动Spring批处理作业,我们提供了一个JobLauncherTestUtils类。可以在测试上下文中配置该类,以启动与其关联的作业,然后连接到单元测试中。您可以在Spring批处理示例模块中看到具体的示例:https://github.com/spring-projects/spring-batch/tree/master/spring-batch-samples
  2. 我假设您使用的是maven,在这种情况下,测试类应该对常规类所做的一切都具有可见性,所以是的。

另外,如果您试图对业务代码进行单元测试,您可能需要考虑不运行批处理作业并单独测试业务代码。如果目标是对整个系统执行集成测试,那么您的方法就有意义了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23722736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档