Lorsque je cherchais un outil de test automatique de l'API REST, article de la méthode de classe pour tester l'API REST avec assuré, mais la version était un peu vieille, donc je l'ai réessayée avec la dernière version au 23 janvier 2017.
La bibliothèque utilisée cette fois est REST Assured, et vous pouvez écrire des tests d'API REST en Java comme DSL. Vous pouvez également écrire facilement des tests JSON / XML en ajoutant une bibliothèque.
Voici comment l'utiliser pour écrire un test pour une API REST qui renvoie un JSON simple.
C'est un ajout de dépendance promis.
Ajoutez la dépendance suivante à pom.xml
.
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-path</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
Le premier est le corps REST Assured, le second est une bibliothèque supplémentaire pour évaluer le contenu de JSON avec une expression de chemin, et le troisième est JUnit. Il peut être écrit en tant que code de test JUnit, mais il utilise le Macther de hamcrest pour exprimer l'assertion de manière naturelle dans le DSL fourni par REST Assured.
Lors de l'écriture du code de test, déclarez l'importation statique suivante pour l'écrire en tant que DSL.
import static io.restassured.matcher.ResponseAwareMatcher.*;
import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
J'écrirai en fait le code de test. REST Assured envoie en fait une requête HTTP au serveur cible, mais ici nous utilisons JSONPlaceholder.
Écrivons le code suivant.
RestAssured.baseURI = "http://jsonplaceholder.typicode.com/";
given()
.get("/posts/2")
.then()
.body("userId", equalTo(1))
.body("id", equalTo(2))
.body("title", equalTo("qui est esse"))
;
J'espère que vous avez vu le code et que vous avez compris ce que vous faites.
Commencez par givent ()
, accédez avec la méthode GET avec get (url)
, opérez sur le résultat aprèsthen ()
, passez ici le JSON de Response avec la méthode body ()
Analysez avec une expression et exécutez Assertion.
Le JSON qui est retourné lorsque vous frappez l'URL selon le code de test ci-dessus est le suivant
{
"userId": 1,
"id": 2,
"title": "qui est esse",
"body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
}
Pour envoyer une réponse JSON à la sortie standard par programme, appelez prettyPrint ()
pour la réponse comme indiqué ci-dessous.
given().get("/posts/2").prettyPrint();
Avec juste cela, le JSON est correctement formaté et sorti vers la sortie standard, il peut donc être utilisé pour le débogage tel quel.
Github
Le code réellement écrit a déjà été poussé vers le Github suivant. https://github.com/shimashima35/RestAssuredSample
Une brève description de REST Assured, un outil de test d'API REST. REST Assured construit le code de test dans une chaîne de méthodes, il a donc une forte affinité avec l'EDI. Je n'ai pas expliqué les opérations détaillées ici, mais je pense que vous pouvez faire diverses choses simplement en essayant les méthodes fournies par l'EDI.
Recommended Posts