For rabbitMq , my advice is to use a real RabbiMQ : this can be done by using Vagrant with chef for provisioning the RabbitMq and the Vagrant maven plugin to start the Box before Integration tests and halt it in the post phase of integration tests :
The Vagrant Maven plugin : http://nicoulaj.github.io/vagrant-maven-plugin/
Vagrant WebSite : http://www.vagrantup.com/
Cookbook Chef for RabbitMQ : https://github.com/opscode-cookbooks/rabbitmq
To Summarize you must :
- Install Vagrant and create an empty Box(Centos or Ubunutu).
- provision the VM with rabbitMQ cookbook .
- place .box into you home folder (rabbitMQ.box).
- Configure you maven Project to start the VM with vagrant up (~/rabbitMQ.box) in the pre phase of integration tests .
- Configure you maven Project to stop the VM with vagrant halt (~/rabbitMQ.box) in the pre phase of integration tests .
This way your tests will be isolated.
Hope that this help