У меня есть приложение Spring Boot. У меня есть тесты на это.
Имею следующее:
public class UsernameAuditorAware implements AuditorAware<String> {
@Override
public Optional<String> getCurrentAuditor() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication == null || !authentication.isAuthenticated()) {
return null;
}
return Optional.of(((MyUserPrincipal) authentication.getPrincipal()).getUsername());
}
}
Который я загружаю следующим образом:
@Bean
AuditorAware<String> auditorProvider() {
return new UsernameAuditorAware();
}
У меня есть интеграционные тесты, которые тестируют мои репозитории и мои сервисы.
Проблема в том, что когда я запускаю тесты из STS, все они проходят. Но когда я запускаю их с помощью mvn test с консоли, все они терпят неудачу с Auditor must not be null! Returned by: class com.utils.UsernameAuditorAware!
Что мне не хватает? Есть ли конфигурация, которую я должен сделать? В STS я просто запускаю их правой кнопкой мыши и запускаю как тесты JUnit.
Покажите исходный код неуспешного теста.
Проблема в том, что тесты терпят неудачу при запуске с консоли, а не при запуске из STS. Вопрос, следующий за этим, заключается в том, что делает STS при запуске тестов как тестов JUnit.




Вышесказанного недостаточно, чтобы помочь вам ... Не могли бы вы поделиться с нами простым воспроизводимым кодом?