I'm affected by this issue as well but I'm not sure if it is actually an issue or 'built' that way. Either way I think it could use some clarification.
Attached is a simple grails app that shows the problem.
If you download load and unzip it the run grails test-app the only test should fail with a can't get text from 'null' error. If you notice the log messages before the integration tests start you will see there is 1 resource copied. So without touching anything if you rerun grails test-app the failing test now passes.
Steps to reproduce:
1) grails clean
2) grails test-app – test should fail
3) grails test-app – test should pass
So to conclude this 20 minute segment of my life I would say to make tests that call classes that use resources integration tests. Or if this is a bug grails should copy resources for unit-tests.
Thanks,
Stan
as a workaround you can execute the grails command package before running the command test-app
then all resources will be in the right place.