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

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

...

我们有如上定义的批处理作业,有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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值