Ошибка порта переменной теста базового приложения Spring BootJAVA

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

Сообщение Anonymous »

Я столкнулся с проблемой при тестировании приложения Spring Boot. Тест завершается неудачей с сообщением об ошибке: «Символ не найден. Символ: переменный порт». Я уже определил порт с помощью WebEnvironment.RANDOM_PORT, но кажется, что чего-то не хватает или что-то настроено неправильно. Может ли кто-нибудь подсказать, что может быть причиной этой проблемы?

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

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.ANY)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class PersonEntityApplicationTest {

@Autowired
private TestRestTemplate restTemplate;

@Autowired
private PersonEntityRepository personRepository;

@Test
@Order(1)
public void testGetPersonEntityById() {
PersonEntity person = PersonEntity.builder()
.firstname("John")
.lastname("Doe")
.age(29)
.build();

person = personRepository.save(person);

ResponseEntity response = restTemplate.getForEntity(
"http://localhost:"  + port + "/persons/" + person.getId(), PersonEntity.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
assertNotNull(response.getBody());
assertEquals("John", response.getBody().getFirstname());
assertEquals("Doe", response.getBody().getLastname());
assertEquals(29, response.getBody().getAge());
}
...
Из-за этой же проблемы не работал другой метод:

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

    @Test
@Order(2)
public void testUpdatePersonEntity() {
PersonEntity person = PersonEntity.builder()
.firstname("Joe")
.lastname("Doe")
.age(29)
.build();

personRepository.save(person);

PersonEntity updatedPersonEntity = PersonEntity.builder()
.firstname("John")
.lastname("Doe")
.age(29)
.build();

String url = "http://localhost:" + port + "/persons/update/1";
ResponseEntity response = restTemplate.exchange(url,
HttpMethod.PUT,
new HttpEntity(updatedPersonEntity),
PersonEntity.class
);

assertEquals(HttpStatus.OK, response.getStatusCode());
PersonEntity responseBody = response.getBody();
assertThat(responseBody).isNotNull();
assertThat(responseBody.getLastname())
.isEqualTo(updatedPersonEntity.getLastname());
}
Я попытался полностью устранить зависимость от порта, чтобы он работал без порта, но оказалось, что порт действительно необходим.


Подробнее здесь: https://stackoverflow.com/questions/793 ... port-error
Ответить

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

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

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

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

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