Можно ли автоматически подключить порт локального сервера за пределами тестового класса в тесте Spring Boot?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Можно ли автоматически подключить порт локального сервера за пределами тестового класса в тесте Spring Boot?

Сообщение Anonymous »

Я хотел обернуть вызовы контроллера для тестирования rest API для удобства использования и написал

Код: Выделить всё

class BaseControllerWrapper {
@LocalServerPort
int port;
...
}

@Component
class SpecificControllerWrapper extends BaseControllerWrapper {
void callEndpoint() {
...
}
}

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
public class PermissionsTest {

@Autowire
SpecificControllerWrapper specificControllerWrapper;

@Test
public void testSomething() {
...
wrapper.callEndpoint();
...
}

}
К сожалению, Spring не удалось создать экземпляры bean-компонентов с помощью

Ошибка при создании bean-компонента с именем «specificControllerWrapper»: внедрение autowired
Не удалось установить зависимости; вложенное исключение:
java.lang.IllegalArgumentException: не удалось разрешить заполнитель
'local.server.port' в значении "${local.server.port}" в
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)

Можно ли это преодолеть?

Подробнее здесь: https://stackoverflow.com/questions/744 ... n-spring-b
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»