我想最好地适应spring、RabbitMQ和mysql的集成测试,同时删除对mysql和RabbitMQ的任何外部依赖。我已尝试使用:1.模拟测试,但不是理想的集成测试2.我可以使用INMD,但它不是Mysql 的实际复制
请帮帮我!!
Thx,Prikshit
理想的情况是用H2内存数据库替换MySql:如果使用Spring,则可以更改测试配置以引用H2内存。
对于rabbitMq,我的建议是使用真正的RabbiMQ:这可以通过与chef一起使用Vagrant来提供rabbitMq和Vagrant-maven插件来完成,以便在集成测试之前启动Box,并在集成测试的后阶段停止它:
Vagrant Maven插件:http://nicoulaj.github.io/vagrant-maven-plugin/
流浪网站:http://www.vagrantup.com/
拉比厨师食谱MQ:https://github.com/opscode-cookbooks/rabbitmq
总结你必须:
- 安装Vagrant并创建一个空盒子(Centos或Ubunseu)
- 为VM提供rabbitMQ食谱
- 将.box放入主文件夹(rabbitMQ.box)
- 配置您的maven项目,以便在集成测试的前阶段启动带有流浪的虚拟机(~/rabbitMQ.box)
- 配置您的maven项目以在集成测试的前阶段使用流浪停止(~/rabbitMQ.box)来停止VM
希望这能帮助