I would like to set up an infrastructure for integration testing. Currently we bootstrap tomcat using maven and then execute httpunit tests. But the current solution has few drawbacks.
- Any changes committed to the database need to be rollback manually in the end if the test
- Running code coverage on integration test is not straight forward (we are using sonar).
My goals are:
- Allow automatic rollback between tests (hopefully using String @transaction and @rollback)
- Simple straight forward code coverage
- Using @RunWith that will bootstrap the system from JUnit and not externally
- Interacting with live servlets and javascript (I consider switching from httpuinit to selenium…)
- Reasonable execution time (at least not longer than the existing execution time)
The goals above look reasonable to me and common to many Java/J2ee projects. I was thinking to achieve those goals by using Arquillian and Arquillian Spring Framework Extension component. See also https://github.com/arquillian/arquillian-showcase/
- Does anyone have and experience with Arquillian and with Arquillian Spring Framework Extension?
- Can you share issues best practices and lesson learned?
- Can anyone suggest an alternative approach to the above?