Heim > Java > javaLernprogramm > Verwendung von RestAssured für automatisierte Tests in der Java-API-Entwicklung

Verwendung von RestAssured für automatisierte Tests in der Java-API-Entwicklung

王林
Freigeben: 2023-06-18 12:20:04
Original
1448 Leute haben es durchsucht

Mit der Weiterentwicklung der modernen Softwareentwicklung sind automatisierte Tests zu einem integralen Bestandteil des Softwareentwicklungsprozesses geworden. In der Java-API-Entwicklung ist RestAssured ein häufig verwendetes automatisiertes Testframework. In diesem Artikel werden die Grundprinzipien, die Verwendung und die damit verbundenen Vorsichtsmaßnahmen des RestAssured-Frameworks vorgestellt.

1. Prinzip des RestAssured-Frameworks

Das RestAssured-Framework basiert auf der Kapselung der HTTP-Client-Bibliothek und kann zum Senden von HTTP-Anfragen und zur Überprüfung von HTTP-Antworten verwendet werden. Es handelt sich um ein automatisiertes Testframework, das auf der Java-Sprache basiert und hauptsächlich für RESTful-API-Tests verwendet wird. Wenn Sie RestAssured zum Testen verwenden, müssen Sie Informationen wie URL, HTTP-Verb, Anforderungsparameter, Anforderungsheader und Antwortzusicherungen der zu testenden API angeben. Insbesondere verwendet das RestAssured-Framework die Given-When-Then-Struktur, um Testschritte zu organisieren. Der Teil „Given“ wird verwendet, um die API-Adresse, Anforderungsheader, Anforderungsparameter und andere zu testende Informationen anzugeben; der Teil „Wenn“ wird verwendet, um anzugeben, welche HTTP-Methode zum Anfordern der API verwendet werden soll;

2. Verwenden Sie RestAssured, um Tests zu schreiben.

RestAssured bietet eine Reihe statischer Methoden zur Unterstützung von Tests, z. B. Get-, Post-, Put- und Löschmethoden. Das Folgende zeigt ein Testbeispiel mit dem RestAssured-Framework:

@Test
public void test() {

    // Given
    RestAssured.baseURI = "https://api.example.com";
    RestAssured.basePath = "/users";
    RequestSpecification request = RestAssured.given();
    request.header("Content-Type", "application/json");
    request.pathParam("userId", "1");

    // When
    Response response = request.when().get("/{userId}");

    // Then
    response.then().statusCode(200).body("name", equalTo("John"));
}
Nach dem Login kopieren

Der Teil „Given“ des obigen Codes gibt die API-Adresse, Anforderungsheader und Anforderungsparameter an, der Teil „When“ gibt die Verwendung der get-Methode zum Anfordern der API an und der Dann bestätigt der Teil den Antwortstatuscode und den Antwortinhalt. Es ist ersichtlich, dass das Testen mit dem RestAssured-Framework die folgenden Schritte umfasst:

  1. Gegebener Teil: Geben Sie die URL, die HTTP-Methode, die Anforderungsparameter, die Anforderungsheader und andere Informationen der zu testenden API an.
  2. Wenn Teil: Verwenden Sie die Von RestAssured bereitgestellte statische Methode Zum Senden von Anforderungen wie Get-, Post-, Put- und Delete-Methoden.
  3. 3. Verwenden Sie RestAssured für allgemeine Tests.

Beurteilen Sie den Antwortstatuscode. Beispiel:
    response.then().statusCode(200);
    Nach dem Login kopieren
  1. Der obige Code bestimmt, ob der Statuscode des Antwortergebnisses 200 ist.

Bestimmen Sie die Antwort-Header-Informationen

Sie können die Then-Methode in Kombination mit der Header-Methode verwenden, um die Antwort-Header-Informationen zu bestätigen. Zum Beispiel:
    response.then().header("Content-Type", "application/json");
    Nach dem Login kopieren
  1. Der obige Code bestimmt, ob der Inhaltstyp des Antwortergebnisses application/json ist.

Bestimmen Sie den Antwortinhalt

Sie können die Then-Methode in Kombination mit der Body-Methode verwenden, um den spezifischen Inhalt des Antwortergebnisses zu bestätigen. Zum Beispiel:
    response.then().body("userId", equalTo(1));
    Nach dem Login kopieren
  1. Der obige Code bestimmt, ob die Benutzer-ID im Antwortergebnis gleich 1 ist.

Senden Sie eine Anfrage mit Anfragetextparametern

Sie können die angegebene Methode in Kombination mit der Body-Methode verwenden, um eine Anfrage mit Anfragetextparametern zu senden. Beispiel:
    String requestBody = "{"username": "johndoe", "password": "password123"}";
    RequestSpecification request = RestAssured.given();
    request.body(requestBody);
    Response response = request.post("/login");
    Nach dem Login kopieren
  1. Der obige Code sendet eine POST-Anfrage und der Anfragetext enthält Informationen zu Benutzernamen und Passwortparametern.
  2. 4. Hinweise

    Bei der Verwendung von RestAssured für automatisierte Tests müssen Sie auf die folgenden Punkte achten:

    Sie müssen die Verfügbarkeit der API-Schnittstelle sicherstellen und außerdem vermeiden, die Testumgebung zum Testen zu verwenden die Produktionsumgebung;

    Beim Schreiben von Tests müssen Sie die Lesbarkeit und Wartbarkeit des Testcodes sicherstellen.

      Bei der Bestätigung der Antwortergebnisse müssen Sie darauf achten, ob die Informationen in den Antwortergebnissen mit den übereinstimmen Testanforderungen.
    1. 5. Zusammenfassung
    2. RestAssured ist ein häufig verwendetes automatisiertes Testframework, das hauptsächlich für RESTful-API-Tests verwendet wird. Beim Testen mit RestAssured müssen Informationen wie URL, HTTP-Methode, Anforderungsparameter, Anforderungsheader und Antwortzusicherungen der zu testenden API angegeben werden. Beim Schreiben von Testcode müssen Sie auf Lesbarkeit und Wartbarkeit achten. Gleichzeitig müssen Sie bei der Bestätigung des Antwortergebnisses darauf achten, ob die Informationen im Antwortergebnis mit den Testanforderungen übereinstimmen.

    Das obige ist der detaillierte Inhalt vonVerwendung von RestAssured für automatisierte Tests in der Java-API-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage