Spring batch Spring批处理连续集成测试

Spring batch Spring批处理连续集成测试,spring-batch,spring-integration,Spring Batch,Spring Integration,我们有一个Spring批处理应用程序。除了运行应用程序的能力外,我们还有一些轻量级测试类,它们允许我们单独运行每个作业,并在作业完成后执行断言 这对于在本地运行测试很好。 但是,对于定义要在持续集成环境(如TeamCity)中运行的测试,有谁能就什么是最佳实践提出建议 例如,设置或清除数据库,或写入队列或文件的测试是否应作为持续集成的一部分运行? 这些资源是否应该被模拟,如果是的话,SpringBatch是否有任何类可以帮助实现这一点 或者,以上是不是矫枉过正?另一种选择是,持续集成只对我们编写

我们有一个Spring批处理应用程序。除了运行应用程序的能力外,我们还有一些轻量级测试类,它们允许我们单独运行每个作业,并在作业完成后执行断言

这对于在本地运行测试很好。 但是,对于定义要在持续集成环境(如TeamCity)中运行的测试,有谁能就什么是最佳实践提出建议

例如,设置或清除数据库,或写入队列或文件的测试是否应作为持续集成的一部分运行? 这些资源是否应该被模拟,如果是的话,SpringBatch是否有任何类可以帮助实现这一点

或者,以上是不是矫枉过正?另一种选择是,持续集成只对我们编写的特定于域的逻辑(如处理器)运行测试


类似的问题与使用持续集成测试Spring集成应用程序相关。

对于测试,您可以使用内存中的
解决方案:嵌入式数据库,只有简单的管理器。并在测试结束时关闭并销毁这些资源。提供了足够的
自动配置
选项。

谢谢Artem。写入文件、队列怎么样?
文件
可以基于JUnit
临时文件夹
<默认情况下,代码>队列
位于内存中(或者可以基于嵌入的数据库),它们仅位于
applicationContext
范围内。