Ga naar hoofdinhoud

Lesprogramma

1. Criteria bespreken voor bruikbare Gherkin

We bespreken en oefenen met de criteria die we bij DoEx hanteren voor goede Gherkin en waaraan zinnige scenario's moeten voldoen. Dit formaat klinkt namelijk wel eenvoudig om toe te passen, maar er zijn nogal wat valkuilen bij het opstellen hiervan.

📖 Lees ter naslag deze teksten over het schrijven van goede Gherkin.

2. Vergelijken Gherkin scenario's

Jullie gaan in groepjes elkaars Gherkin Scenario's voor de week casus van feedback voorzien en toetsen tegen de criteria.

✏️ Gebruik de vragen en plaats de feedback in <jouw-repo-van-week5>/weekopdracht/jouw-feedback/gherkin/scenario/README.md en stuur het bestand naar degene die je feedback geeft.

3. Demonstratie automatiseren van scenario's

In deze stap laat de docent kort zien hoe je Gherkin-scenario's koppelt aan Cucumber step definitions.

Hulp bij de demo in IntelliJ (uitklappen)

Gebruik deze screenshots alleen als visuele steun tijdens de demo.

1. Controleer eerst de IntelliJ plugins

Voor deze demo moeten de plugins Gherkin en Cucumber for Java geinstalleerd zijn:

IntelliJ plugins: Gherkin en Cucumber for Java

2. Tip: Zet de cursor op de step-tekst!

Zet de cursor in de concrete step-tekst in de .feature file, niet op Gegeven/Wanneer/Dan. Klik daarna op het gele lampje dat in de gutter verschijnt; dan zit in het context menu de optie Generate Step Definitions....

Cursor op step-tekst: optie Generate Step Definitions zichtbaar

3. Gotcha: NIET op het keyword gaan staan

Als je op een keyword zoals Given staat met de cursor, geeft het context menu alleen optie als Scenario Outline.

Cursor op keyword: Generate Step Definitions niet zichtbaar

Zorg trouwens ook dat de .feature file(s) in src/test/resources/ staat (en bv. NIET in src/main/resources/).

Bovenstaande 'operationele' kennis geeft alleen maar de boilerplate code, alle glue code om de applicatie code testen moet je zelf schrijven. Daar gaat de volgende les over.

Bij het aanpassen van zinnen in de .feature file, vanwege spelfouten of omdat inhoudelijk niet klopt, moet je in de bijbehorende step definitions in de @Given, @When of @Then annotatie ook de 'regexp' strings aanpassen. Anders heb je de koppeling tussen scenario en step definition verbroken. Je moet zelf gevoel krijgen voor hoe je Gherkin kunt formuleren dat je hergebruik kunt maken van step definitions, en dat je tegelijkertijd scenario's zo schrijft dat ze ook begrijpelijk zijn voor stakeholders.

Deze demo/uitleg bereidde je voor op de volgende les (5-3). Werk daarom als voorbereiding verder met: Werken met Cucumber (voorbereiding les 5-3).

4. Scenario's voor de weekcasus aanscherpen

tip

Wissel de beste uitwerking van de Gherkin Scenario's in jouw groepje van reviewen uit ter voorbereiding op les 3.