Spring cloud contract - zwykły restTemplate

0

Czy w spring cloud contract da się ustawić aby w testach używał jakiegoś zwykłego rest template
ewentualnie RestAssured.given().port(localServerPort) zamiast MockMvcRequestSpecification request = given()?
Chciałbym aby to działało też z @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) a nie tylko z
SpringBootTest.WebEnvironment.MOCK(chyba, że nie ma to sensu).

0

W CDC testy serwera są generowane automatycznie na podstawie jakiegoś configa opisującego kontrakt. Po co chcesz tam coś zmieniać?

0
Charles_Ray napisał(a):

W CDC testy serwera są generowane automatycznie na podstawie jakiegoś configa opisującego kontrakt. Po co chcesz tam coś zmieniać?

Same testy kontraktowe tak ale one rozszerzają klasę bazową (którą ustawiam w pomie w konfiguracji tego plugina) i to już jest moja klasa bazowa, która ma na górze SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) więc skoro prawdziwy serwer działa w testach a nie jakiś springowy mock to imo fajnie jakby w tych testach kontraktowych prawdziwe requesty do tego serwera wysyłać.

0

Niby jest coś w dokumentacji

4.2.7 Configuration Options
testMode: Defines the mode for acceptance tests. By default, the mode is MockMvc, which is based on Spring’s MockMvc. It can also be changed to JaxRsClient or to Explicit for real HTTP calls.

import io.restassured.RestAssured;
import org.junit.Before;
import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest(classes = ContextPathTestingBaseClass.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class ContextPathTestingBaseClass {

    @LocalServerPort int port;

    @Before
    public void setup() {
        RestAssured.baseURI = "http://localhost";
        RestAssured.port = this.port;
    }
}

Jutro zerknę jak z tego skorzystać.

0

Problem rozwiązany. Wystarczyło ustawić w pluginie testMode na wartość EXPLICIT.

1 użytkowników online, w tym zalogowanych: 0, gości: 1