Esiste un modo per testare un controller che utilizza un filtro su un test di integrazione?Filtro test integrazione Grails
Sembra esserci un modo per utilizzare l'annotazione @Mock per Test unità e di avvolgere la chiamata controller su a con chiusura filtro.
Ma non riesco a testare i filtri su un test di integrazione che dal mio pov dovrebbe essere molto diretto.
Aggiornamento
Quindi ecco la soluzione che ho trovato. Invece di usare l'annotazione @Mock, ho istanziato la classe FiltersUnitTestMixin e l'ho popolata con i valori necessari.
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()
}
}
}