Cómo simular un objeto de comando que está dentro del controlador

Tengo una clase de controlador, dentro de la cual tengo un objeto de comando. Tengo un método find () que usa este objeto de comando de la siguiente manera:

class itemController{

    //command object
    class SearchCommand{
        String email
        static constraints={
            email blank:false,email:true
        }

def find = {SearchCommand sc ->
    if(!sc.hasErrors()){
     ----- do something---
}

}

Ahora, estoy escribiendo un caso de prueba para probar el método de búsqueda en el controlador. Pero el caso de prueba falla en

  if(!sc.hasErrors())

como sc sigue siendo 'nulo'. No estoy seguro de cómo manejar este objeto de comando de clase interna en el caso de prueba. El caso de prueba que he escrito hasta ahora es:

class itemControllerTests extends ControllerUnitTestCase {

    void testFind(){
    def model = controller.find()
    assertNotNull(model)
    }
}

¿Cómo manejo el objeto de comando de clase interna en el caso de prueba? ¿Me burlo? He intentado usar mockCommandObject (?), Pero no estoy seguro de cómo pasar el objeto de comando de clase interno a esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta