¿Hay alguna forma de probar un controlador que utiliza un filtro en una prueba de integración?Grails Integration Test Filter
Parece que hay una forma de utilizar la anotación @Mock para Pruebas unitarias y de ajustar la llamada del controlador en un cierre de filtro.
Pero no consigo probar los filtros en una prueba de integración que desde mi punto de vista debería ser muy directa.
Actualización
Así que aquí está la solución que encontré. En lugar de usar la anotación @Mock, instalé la clase FiltersUnitTestMixin y la llené con los valores necesarios.
public class ControllerTest {
def controller = new Controller()
FiltersUnitTestMixin f = new FiltersUnitTestMixin()
@Before
public void setup() {
f.grailsApplication = grailsApplication
f.applicationContext = grailsApplication.mainContext
f.mockFilters(ControllerFilters)
}
@Test
public void shouldPassTheTest() {
f.withFilters(action:"actionName") {
controller.actionName()
}
}
}