Skip to main content

Opdracht 2: Bookstore

In de tweede opdracht ga je aan de slag om een wat gecompliceerdere applicatie te genereren. We gaan eerst beginnen met aanmaken van een nieuw project. Doe dat op dezelfde manier als in opdracht 1. In deze opdracht gaan we in twee delen een bookstore api ontwikkelen aan de hand van Karate, een plugin voor cucumber die speciaal is ontwikkeld voor API testen. Wilt je meer weten over Karate, kijk dan op de Github pagina van Karate Labs

2.1 Feature file

Als je een project hebt aangemaakt kan je aan ChatGPT vragen of deze een karate cucumber bestand kan genereren. Hiervoor zijn de volgende requirements op gezet:

  • Ik heb een API draaien op localhost:8080
  • Ik wil een boek object
  • Ik wil een lijst van boeken kunnen ophalen
  • Ik wil een boek aan kunnen maken met een titel, schrijver, ISBN en prijs
  • Ik wil een boek ophalen met een ISBN
  • Ik wil een boek kunnen verwijderen
  • Ik wil een boek kunnen aanpassen

Als je het bestand hebt gekregen, dan moet je deze op een andere plek zetten dan bij een standaard cucumber file. Deze feature file moet in dezelfde directory geplaatst worden als de stepfile:

- src
- test
- java
- com
- examples
- bookstoreAPI.feature

2.2 Stepfile

Ook bij deze cucumber file heb je een step file nodig. De stepfile voor een karate cucumber file is een stuk simpeler doordat de functies verwijzen naar de gegevens binnen de feature file. In het feature file staan namelijke alle benodigdheden die je nodig hebt voor de API request.

Plaats dit bestand in de folder src/test/java/com/example/BookstoreAPITest.java.

Let goed op, Binnen Karate.run("bookstoreAPI") moet je de juiste naam staan van het feature file.

In de volgende opdracht gaan we proberen aan de hand van je cucumber file en step file de API te genereren.