Sobes.tech
Junior — Middle

Wyjaśnij, co rozumie się przez specyfikację w kontekście REST Assured i jak jest ona stosowana podczas testowania API.

sobes.tech AI

Odpowiedź od AI

W kontekście REST Assured, specyfikacja to wcześniej zdefiniowany zestaw ustawień i parametrów dla żądań HTTP i sprawdzeń odpowiedzi, który można wielokrotnie wykorzystywać w testach. Specyfikacja obejmuje podstawowy URL, nagłówki, parametry, a także oczekiwane kody odpowiedzi i schematy.

Użycie specyfikacji pozwala na standaryzację i uproszczenie pisania testów API, unikając duplikacji kodu. Na przykład można utworzyć specyfikację z ogólnymi ustawieniami dla wszystkich żądań do określonego serwisu i następnie używać jej w różnych testach.

Przykład w Java:

import static io.restassured.RestAssured.*;
import io.restassured.builder.RequestSpecBuilder;
import io.restassured.specification.RequestSpecification;

RequestSpecification spec = new RequestSpecBuilder()
    .setBaseUri("https://api.example.com")
    .addHeader("Authorization", "Bearer token")
    .build();

given()
    .spec(spec)
.when()
    .get("/users")
.then()
    .statusCode(200);

W ten sposób specyfikacja pomaga centralnie zarządzać ustawieniami żądań i poprawia czytelność oraz utrzymanie testów.