Al utilizar TagLibUnitTestCase uno tiene la variable tagLib, que como tal es la instancia de la clase que estás probando, en mi caso yo uso algunas dependencias que utiliza mi libreria de tags y se las inyectaba de manera manual, pero al invocar el código de la siguiente manera:
tagLib.dojoField(
[bean:impuesto,field:"totalImpuestosRetenidos",
useLabelTemplate:true],null)
Pero la prueba unitaria fallaba, mandaba NullPointerException, curiosamente al invocar cualquier método de las dependencias, al realizar diversas pruebas me di cuenta que al invocar el closure de esa manera, se creaba una nueva instancia de tagLib, naturalmente, sin las dependencias que había inyectado previamente.
Para evitar caer en ese error, solo tenemos que invocar el closure a la manera "java", usando el método call() del closure:
tagLib.dojoField.call(
[bean:impuesto,
field:"totalImpuestosRetenidos",
useLabelTemplate:true],null)
Y de ésta manera no tendrá ese comportamiento extraño.
Cabe mencionar que probé en Grails 1.3.2