У меня есть проект весенней загрузки 2.2.4 с контроллером REST, службой и репозиторием JPA. Я могу использовать макет сервлета карате, чтобы определить макет контроллера и службы, но я не знаю, что делать с репозиторием. Контроллер @Autowired сервиса. Сервис @Autowired репозиторий.
В результате я получаю это сообщение, когда запускаю свой тест по карате:
Вызвано: org.springframework.beans.factory.NoSuchBeanDefinitionException: нет подходящего bean-компонента типа 'repository.EmployeeRepository': ожидается как минимум 1 bean-компонент, который квалифицируется как кандидат autowire. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (required = 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, то сервлет Karate Mock Servlet отлично работает без запущенного сервера, и тест Karate проходит успешно.
Есть идеи, как бы я это сделал? Если кто-то может указать мне правильное направление, я был бы признателен.