相关疑难解决方法(0)

Maven下多个Spring启动应用程序的端到端集成测试

SpringMaven构建的验证阶段,为多个引导应用程序运行端到端集成测试的推荐方法是什么?

基本上,我有一个多模块Maven项目,其中几个模块是独立的弹簧启动应用程序.这些单独的应用程序有自己的数据源配置,带JMS队列的集成流等.例如,应用程序A将轮询数据库中的事件,当发生这种情况时,它会生成JSON数据文件并将消息放入JMS队列.应用程序B正在轮询JMS队列,因此选择消息,读取文件,使用另一个数据库执行某些处理,并将消息放在不同的队列中.然后,应用程序C将接收该消息等.

我已经为各个应用程序设置了集成测试; 这些在Maven故障安全插件下运行.但是,我想整合测试整个系统,端到端,在Maven下.我在专用于此任务的项目中设置了一个单独的模块,因此希望此模块的验证构建阶段使用其他相关模块进行端到端测试.

这样做有最佳实践方法吗?我看到3种可能的方式:

  1. 将每个应用程序的配置加载到同一应用程序上下文中.但是,由于存在多个数据源等,这会产生冲突,因此这些数据源都必须手动配置才能实现端到端集成测试 - 所以这对我来说似乎不对.
  2. 将每个应用程序作为一个单独的进程启动 - 然后如何正确地跟踪它们并确保它们在测试模块构建停止/崩溃/等时关闭?
  3. 有没有办法在同一个进程中轻松加载单独的Spring引导应用程序,每个应用程序都有自己的配置上下文?这似乎是最明智的选择.有关Mavenbuild/failsafe插件的任何注意事项吗?

integration-testing end-to-end maven multi-module spring-boot

19
推荐指数
2
解决办法
2581
查看次数