I have domain classes and unit test and test like this:
Peter Ledbrook in this article: http://blog.springsource.com/2011/06/07/countdown-to-grails-1-4-unit-testing/ says clearly:
One question you may ask is why does the above example use the validate: false option when saving the new domain instance? You have to remember that you are working against a full GORM implementation and so validation takes effect by default. For a simple domain class this isn't a problem, but what if you have tens of properties and some required relationships too? Building a valid graph of domain instances can involve considerable effort and yet the method or action under test may only access one or two properties of the domain class. Disabling validation removes what would otherwise be an onerous requirement.
For example, imagine that the Post domain class had a required user property of type User. Now, the list action doesn't care about the user at all - it's just returning a list of posts. But with validation enabled, you would have to create a dummy User instance and attach it to the Post instance. Scale that up to a complex domain model and you can see that validation is not your friend in this particular case.
In this case Post has required Blog property, but in-memory GORM implementation throws:
I attach sample application with Unit tests.