Зависимость Apache-Karate, вызывающая ошибки при тестировании контроллера webbovc Springboot 2.1.1 - PullRequest
1 голос
/ 09 мая 2019

По какой-то причине, я подозреваю, что, поскольку apache-karate добавляет httpclient, всякий раз, когда я добавляю зависимость apache-karate к своему POM, он нарушает мои тесты Spring WebMVC Controller.

Я получаю следующую трассировку стека (которую яуже гуглил):

Ошибка создания бина с именем 'requestMappingHandlerAdapter

java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Factory method 'requestMappingHandlerAdapter' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mvcValidator' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.valueextraction.ValueExtractorManager

Фрагмент моей веб-конфигурации:

@Configuration
@EnableWebMvc
public class WebConfiguration implements WebMvcConfigurer {

Так что я знаю, что это не так, как приложение настроено.Две зависимости каратэ, которые у меня есть, относятся к test.

Поскольку мне кажется, что это проблема с зависимостями, у кого-нибудь еще есть опыт манипулирования этими зависимостями, чтобы получить классы WebMvcTest, которые тестируют контроллеры дляработать?

1 Ответ

0 голосов
/ 09 мая 2019

Да, в идеале вы должны решить эту проблему, взломав exclusion в своем pom.xml.

На самом деле вы можете попробовать поменять karate-apache на karate-jersey - причина, по которой мы имеем эту опцию, заключается в том, чтобы найти именно этот тип ада конфликта зависимостей, и это упоминается в документации.

Если у вас все еще есть проблемы, следуйте этому процессу, и мы можем посмотреть: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...