0

我想最好地对 spring、RabbitMQ 和 mysql 进行集成测试,同时删除对 Mysql 和 RabbitMQ 的任何外部依赖。我尝试过使用: 1. 模拟测试,但它不是理想的集成测试 2. 我可以使用 INMD,但它不是 Mysql 的实际复制

请帮我!!

谢谢,Prikshit

4

1 回答 1

2

理想的情况是用 H2 内存数据库替换 MySql:如果您使用 Spring,您可以更改测试配置以引用 H2 内存。

对于 rabbitMq,我的建议是使用真正的 RabbiMQ:这可以通过使用 Vagrant with chef 来配置 RabbitMq 和 Vagrant maven 插件来在集成测试之前启动 Box 并在集成测试的后期停止它:

Vagrant Maven 插件: http: //nicoulaj.github.io/vagrant-maven-plugin/

流浪者网站: http ://www.vagrantup.com/

RabbitMQ 食谱厨师: https ://github.com/opscode-cookbooks/rabbitmq

总结一下,您必须:

  1. 安装 Vagrant 并创建一个空 Box(Centos 或 Ubunutu)。
  2. 使用 rabbitMQ cookbook 配置 VM。
  3. 将 .box 放入您的主文件夹(rabbitMQ.box)。
  4. 配置您的 maven 项目以在集成测试的前期使用 vagrant up (~/rabbitMQ.box) 启动 VM。
  5. 配置您的 maven 项目以在集成测试的前期使用 vagrant halt (~/rabbitMQ.box) 停止 VM。

希望这有帮助

于 2013-09-17T11:20:52.420 回答