У меня есть один пользовательский контроллер.
Пользовательский контроллер:
@CrossOrigin(origins = "*", allowedHeaders = "*")
@RestController
@RequestMapping("users")
public class UserRestController {
private final UserService userService;
public UserRestController(final UserService userService) {
this.userService = userService;
}
@GetMapping()
public User getInfo(
final @AuthenticationPrincipal UserDetails userDetails
) {
return userService.findByUsername(userDetails.getUsername());
}
@PutMapping()
public User update(
final @AuthenticationPrincipal UserDetails userDetails,
final @RequestBody User user
) {
User userInSystem = userService.findByUsername(
userDetails.getUsername()
);
return userService.update(user, userInSystem);
}
}
Я провожу некоторые проверки для него.
Тест Пользовательский контроллер:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = ApplicationArguments.class)
@Configuration // this annotation can be removed, the error will remain the same
@EnableAutoConfiguration //previous comment
public class TestUserRestController {
@Autowired
private UserRestController userRestController;
@Test
public void Test() {
assertThat(userRestController).isNotNull();
}
}
И, наконец, у меня возникает ошибка при запуске теста:
org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания компонента с именем com.daniil.ostrouh.notes. TestUserRestController ': неудовлетворительная зависимость, выраженная через поле' userRestController '; вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет доступного квалифицирующего компонента типа 'com.daniil.ostrouh.notes.rest.UserRestController': ожидается как минимум 1 компонент, который считается кандидатом на автопровод. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)}
Скажите, пожалуйста, что я делаю неправильно
Обновления Структура проекта: Структура проекта