1

We are having a setup of 3 different Java EE Servers, all communicating with both JGroups and RMI. We are heavily unit testing our code and the whole team is totally in favor of TBD, but we are facing problems when it comes to integration testing our servers.

Especially our custom fail-over/ reconnect/ termination detection "algorithms" would need some automated testing because we are often seeing that they break and we currently always fix it by trial and error testing.

We are using the following libraries/frameworks: Tomcat, Maven, Spring 3, RMI, JGroups

Any ideas, suggestions, links and resources are welcome!

Arjan Tijms
  • 37,782
  • 12
  • 108
  • 140
Erik
  • 11,944
  • 18
  • 87
  • 126

1 Answers1

1

Interesting that nobody answered this question since 2011. Maybe there wasn't anything to recommend?

If you are looking into integration testing only it's much easier. You can write your usual JUnit/TestNG tests and use arquillian to take care of the container (lifecycle, deployments, configuration, etc). You can run all the components (tests, containers, deployments) on a single node, bind to different IPs or ports, let JGroups do all the cluster communication as usual.

http://arquillian.org/

Moreover, there is a whole book now available about integration testing in called 'Continuous Enterprise Development in Java'.

http://www.amazon.com/Continuous-Enterprise-Development-Andrew-Rubinger/dp/1449328296

The situation is IMO much worse when it comes to system testing. I am going to just say one name here: SmartFrog which is 'powerful and flexible Java-based software framework for configuring, deploying and managing distributed software systems'. The learning curve is terrible though.

http://www.smartfrog.org/

Radoslav H.
  • 88
  • 1
  • 6