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.