Я хотел бы протестировать фильтр, который проверяет правильность сеанса, но я не уверен, как это сделать.Неверный сеанс для теста блока фильтров в Grails
Мой фильтр - это что-то вроде этого.
class SampleFilters {
def filters = {
sessionFilter(controller:'*', action:'*') {
before = {
if(request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid()) {
//doSomething
}
}
}
}
}
Я хочу создать единичный тест для этого фильтра. Я хочу, чтобы при запуске тестов он должен был ввести предложение «if» для выполнения «doSomething». В настоящее время у меня есть что-то вроде этого.
import grails.test.mixin.*
import grails.test.mixin.web.FiltersUnitTestMixin;
import org.junit.*;
@TestMixin(FiltersUnitTestMixin)
class SessionFiltersTests {
def controller
@Test
void testFilter() {
controller = mockController(TestController)
//I want to make sure when running the test it will enter the "if" clause
withFilters(action: "testAction") { controller.testAction() }
assert response.text
}
}
Я все еще новичок в модульном тесте, поэтому, если кто-то может мне помочь, я буду признателен.
Спасибо!