Czy istnieje sposób na sprawdzenie kontrolera, który używa filtra do testu integracji?Filtr testowy integracji Grailsa
Wygląda na to, że istnieje sposób, w jaki stosuje się adnotację @Mock do testów jednostkowych, a następnie zawijanie wywołania kontrolera na zamknięciuFiltra.
Nie mogę jednak przetestować filtrów w teście integracji, który z mojego punktu powinien być bardzo prosty.
Aktualizacja
Oto rozwiązanie, które znalazłem. Zamiast adnotacji @Mock, utworzyłem instancję klasy FiltersUnitTestMixin i uzupełniłem ją o niezbędne wartości.
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()
}
}
}