I've been struggling within the Grails world for a while. It's pretty cool stuff, but the story around testing seems a less than desirable for my tastes. For integration tests, I like to have a database loaded with some data, and I don't want to have to load that data via object construction. In the Java world, I would use the excellent DbUnit framework to bulk load/unload data to/from the database. Why should Grails be any different? After some playing around with DbUnit 2.2 and Grails, it isn't any different. Works like a charm for integration testing. I'll still use metaprogramming and mocking techniques for unit testing, but DbUnit allows me to build up simple datasets of the database tables that I can easily load and unload through my Grails integration tests.
Powered by ScribeFire.