Добавление нового HandlerInterceptor приводит к сбою многих существующих тестов — как это исправить или изолировать? [заJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Добавление нового HandlerInterceptor приводит к сбою многих существующих тестов — как это исправить или изолировать? [за

Сообщение Anonymous »

У меня есть большое приложение Spring Boot с обширным набором тестов (модульные тесты + тесты контроллера).
После введения нового HandlerInterceptor многие из моих предыдущих тестов начали давать сбой. Большинство этих тестов не были написаны с учетом перехватчиков, и теперь логика перехватчика выполняется почти для каждого запроса внутри тестов.
Я ищу руководство о том, как исправить или изолировать перехватчик для тестов и какой рекомендуемый подход:
  • Должен ли я отключить перехватчик в определенных тестах?
  • Должен ли я отключить перехватчик в определенных тестах?
  • Должен ли я высмеивать службу, от которой зависит перехватчик?
  • Должен ли я обновлять каждый тест для учета перехватчика?
  • Есть ли способ автоматически исключить его в настройках MockMvc/WebMvcTest?
Ниже приведен упрощенный пример конфигурации и перехватчика. (Имена изменены.)

Код: Выделить всё

@Configuration
@RequiredArgsConstructor
public class DemoPathConfig implements WebMvcConfigurer {

private final DemoAccessInterceptor demoAccessInterceptor;

@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(demoAccessInterceptor)
.addPathPatterns("/api/internal/**");
}
}

Код: Выделить всё

@Component
@RequiredArgsConstructor
@Slf4j
public class DemoAccessInterceptor implements HandlerInterceptor {

private final DemoCheckService demoCheckService;

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
if (HttpMethod.OPTIONS.matches(request.getMethod())) {
return true;
}

demoCheckService.validateAccess();
return true;
}
}
Как лучше всего справиться с внезапными сбоями тестов после добавления перехватчика?**
Меня особенно интересуют стратегии, используемые в больших базах кода, такие как глобальное отключение перехватчиков для тестов, условная регистрация или трюки с настройкой MockMvc/WebMvcTest.>

Подробнее здесь: https://stackoverflow.com/questions/798 ... how-to-fix
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»