我有一个申请,我正在使用春季批次.我想编写一个可以端到端测试批处理作业的测试用例.我一直在探索相同的各种选择.我检查了一致性测试案例是否有用,但我不确定它是否是测试弹簧批作业的理想方法.到目前为止,我认为集成测试用例应该适合我的情况.我想知道测试我的场景应该是什么样的理想方法.

...

我们有如上定义的批处理作业,有20多个步骤,包括与外部系统的接口(> 5个这样的步骤),有步读者等.

在开发集成测试用例时,我正在考虑使用spring-batch-test API和Mockito,以便我可以模拟涉及外部系统调用的步骤.使用这种方法,我将不得不在弹簧配置本身(Injecting Mockito mocks into a Spring bean)中创建模拟对象.我不确定的是,如果我使用spring配置它们,我将如何模拟方法调用模拟bean.

我不确定我是否可以清楚地解释我的情景.如果您对弹簧批处理作业的E2E流程测试有任何其他更好的意见,请提供建议,如果您能对上述方法有任何明确的建议,请提供帮助.

最佳答案 你的方法似乎对我有用.我已多次使用类似的设置.只需从测试中设置Spring上下文,然后使用JobLauncherTestUtils来处理您的工作.

要考虑的一件事是嘲笑.如果多个连续步骤从同一数据源读取和写入相同的数据,那么模拟这些数据可能会导致测试中的大量模拟配置.也许为这些步骤设置内存数据库会更容易.这取决于您的实施细节.

关于你的嘲笑的设置……

您可以简单地将您的模拟自动装配到测试中.

@Autowired

private Dao mockedDao;

然后你可以像任何模拟一样简单地配置模拟.

when(dao.findById(any())).thenReturn(something);

mockito 外部接口_mockito – Spring批处理作业的端到端测试用例相关推荐

  1. mockito 外部接口_Mockito入门

    mock使用 mock主要在单元测试的时候用来模拟外部依赖接口的返回,即method stub的作用. 一般而言,在常见的单元测试的编写中,通过mock外部依赖来使得待测试的代码能往下执行. 在单测中 ...

  2. mockito 外部接口_mockito 使用

    单元测试的目的是在不涉及依赖的情况下测试代码(隔离).一个设计良好的系统需要遵循 SOLID 原则. (S) Single responsibility principle 单一职责 (O) Open ...

  3. mockito 外部接口_mockito 初识

    为什么需要模拟? 在我们一开始学编程时,我们所写的对象通常都是独立的.hello world之类的类并不依赖其他的类(System.out除外),也不会操作别的类.但实际上软件中是充满依赖关系的.我们 ...

  4. java flow step,即使步骤完成,使用FlowBuilder的Spring Batch作业也会失败

    我有一个Spring批处理作业,它成功完成了这些步骤,但将整个批处理作业状态标记为Failed . 这项工作有两个步骤 . 第一步验证输入文件并为我们正在处理的文件类型设置变量 . 使用Tasklet ...

  5. Spring批处理教程

    图片来源 : Spring Source Spring Batch是一个用于批处理的开源框架–执行一系列作业. Spring Batch提供用于读取/写入资源,事务管理,作业处理统计信息,作业重新启动 ...

  6. Spring批处理CSV处理

    总览 我们将讨论的主题包括使用Spring Batch进行批处理的基本概念,以及如何将数据从CSV导入数据库. 0 – Spring Batch CSV处理示例应用程序 我们正在构建一个应用程序,该应 ...

  7. batch spring 重复执行_重复的Spring Batch作业实例

    我有一个小的示例Spring Batch应用程序,该应用程序在首次启动时可以正常运行,但是每当我关闭该应用程序并重新启动jar时,我总是会收到此错误: Caused by: org.springfra ...

  8. 10分钟搞定 Spring 批处理组件 —— spring-batch

    SpringBatch是什么 Spring Batch 是一个轻量级.全面的批处理框架,旨在支持开发对企业系统的日常运营至关重要的健壮批处理应用程序.Spring Batch 建立在人们所期望的 Sp ...

  9. java与java ee_计划Java EE 7批处理作业

    java与java ee Java EE 7添加了使用JSR 352以标准方式执行批处理作业的功能. <job id="myJob" xmlns="http://x ...

  10. 计划Java EE 7批处理作业

    Java EE 7添加了使用JSR 352以标准方式执行批处理作业的功能. <job id="myJob" xmlns="http://xmlns.jcp.org/ ...

最新文章

  1. 回顾以前的线程安全的类
  2. python3 多线程_python3多线程知识点总结
  3. mysql排序1 10 11_MySQL中的排序
  4. springboot-quartz工程动态调度的实现
  5. mysql 变量作用_MySQL变量的用法
  6. 夺命雷公狗ThinkPHP项目之----企业网站2之数据库的快速设计
  7. 更改Ubuntu终端复制和粘贴的快捷键
  8. svchost.exe占用CPU 100%,也可能是这样的原因
  9. linux 的常用命令---------第十二阶段(smb、FTP服务)
  10. pythoncss50使用教程_Python学习(二十) —— 前端之CSS
  11. Eviews的基本使用,简单线性回归分析
  12. 翻译:最令人印象深刻的YouTube频道,可让您学习AI,机器学习和数据科学
  13. 外包公司到底能不能选择
  14. MSDC 4.3 接口规范(4)
  15. 如何在win10下安装IMSL6.0
  16. 【英语:基础进阶_核心词汇扩充】E4.常见词根拓词
  17. 使用Calibre转换任意格式为支持KF8的mobi文件
  18. 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍
  19. 培训python的学校
  20. 2020CCF BDCI 企业非法集资风险预测-线上0.848(水哥的baseline),在此基础已做到线上0.848,排名前1%(参赛队伍3000+))。

热门文章

  1. 2018.12月问题整理杂记
  2. supervisor 管理
  3. 传输层的端口与TCP标志中的URG和PSH位
  4. Springmvc 的post请求的json格式参数
  5. (Singleton)单例模式的Java实现
  6. [翻译] FeSpinner
  7. Oracle 11gR2 中 示例用户 安装说明
  8. 控制输入,非法字符不能输入到TextBox.
  9. 软件测试,从零开始:测试新手入门必读
  10. 事务及其传播行为的通俗易懂的讲解