У меня есть проект весенней загрузки 2.2.4 с контроллером REST, сервисом и репозиторием JPA. Я могу использовать сервлет макета каратэ, чтобы определить макет для контроллера и сервиса, но я не знаю, что делать с репозиторием. Контроллер @AutoWired службы. Служба @AutoWired хранилище.
В результате я получаю это сообщение при запуске теста каратэ:
Причина: org.springframework.beans.factory.NoSuchBeanDefinitionException: Нет доступного квалифицирующего компонента типа 'repository.EmployeeRepository' : ожидается как минимум 1 бин, который считается кандидатом autowire. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)}
Используемый мной MockServlet - это именно тот класс из демонстрации: MockSpringMvcServlet
С классом MockConfig, подобным следующему: MockDemoConfig
Наконец, файл karate-config. js загружает MockSpringMvServlet таким образом (как указано в демонстрационном коде каратэ):
function fn() {
var config = {
baseUrl: 'http://localhost:8080'
};
var Factory = Java.type('demo.MockSpringMvcServlet');
karate.configure('httpClientInstance', Factory.getMock());
return config;
}
Примечание: если я удаляю репозиторий JPA из вызова API, то сервлет-каратэ отлично работает без запуска сервера, и тест каратэ проходит успешно.
Любая идея, как мне поступить это? Если кто-нибудь может указать мне правильное направление, я был бы признателен.