Grundlegender Fehler beim Port der Spring Boot-AnwendungstestvariableJava

Java-Forum
Guest
 Grundlegender Fehler beim Port der Spring Boot-Anwendungstestvariable

Post by Guest »

Ich habe ein Problem mit meinem Spring Boot-Anwendungstest. Der Test schlägt mit der Fehlermeldung fehl: „Symbol nicht gefunden, Symbol: Variabler Port.“ Ich habe den Port bereits mit WebEnvironment.RANDOM_PORT definiert, aber es scheint, als ob etwas fehlt oder nicht richtig konfiguriert ist. Kann jemand vorschlagen, was dieses Problem verursachen könnte?

Code: Select all

@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());
}
...
Das gleiche Problem führte auch dazu, dass meine andere Methode nicht funktionierte:

Code: Select all

    @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());
}
Ich habe versucht, die Portabhängigkeit vollständig zu beseitigen, um sicherzustellen, dass es ohne Port funktioniert, aber es stellte sich heraus, dass der Port tatsächlich notwendig ist.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post