Я новая пчела, застрявшая в одной проблеме с Зуулом. Я пишу тестовые случаи для фильтров Zuul. Сначала я хочу знать, нужно ли мне писать UT для моих фильтров Zuul, если да, тогда я пишу модульный тест метода shouldFilter () моего фильтра Zuul, в котором я должен смоделировать requestContext, как я могу достичь этой цели?
У меня уже есть ложный запрос HttpServelet и RequestContext, но когда я перехожу в режим отладки, он становится пустым ... что мне не хватает?
@ Override
public boolean shouldFilter () {
RequestContext requestContext = RequestContext.getCurrentContext();
HttpServletRequest request = requestContext.getRequest();
if (request.getHeader(Constants.AUTHORIZATION.getValue()) != null) {
return true;
}
return false;
}
Это мой оригинальный метод
@Test
public void testShouldFilter(){
MockHttpServletRequest request = new MockHttpServletRequest(context);
request.addHeader("Authorization","123");
RequestContext rc = new RequestContext();
rc.setRequest(request);
Mockito.when(requestContext.getCurrentContext().getRequest()).thenReturn(request);
doReturn(request).when(requestContext).getRequest();
doReturn(rc).when(requestContext)
Mockito.when(request.getHeader()).thenReturn(rc);
Mockito.when(RequestContextHolder.(Constants.AUTHORIZATION.getValue())).thenReturn(request.getHeader("Authorization"));
boolean Sf = authorizationFilter.shouldFilter();
Assert.assertFalse(Sf);
}
Это мой юнит тест
и извините за плохой английский
Я ожидаю, что запрос должен иметь любой фиктивный объект, чтобы он мог сравнивать значение заголовка, но с возвращаемым нулем.