Skip to main content

Writing Gherkin

Restlyn uses Gherkin .feature files as the source of truth for generating API tests.


✏️ Gherkin Syntax Basics

Feature: Title of the feature

Scenario: Title of the test case
Given base URL is "https://api.example.com"
When I POST "/login" with:
| email | test@example.com |
| password | secret |
Then response status should be 200
And response body should contain key "token"

🧱 Supported Steps

✅ Base URL

Given base URL is "https://example.com"

✅ Request with body

When I POST "/login" with:
| email | test@example.com |
| password | secret |

✅ Status Assertion

Then response status should be 200

✅ Contains Assertion

And response body should contain key "token"

✅ Schema Validation

And response should match schema "userSchema"

♻️ Reusable Steps

Define reusable steps in stepLibrary.js like:

module.exports = {
'I am logged in': {
steps: [
{ method: 'POST', endpoint: '/login', body: { email: 'test@example.com', password: 'secret' }, extract: ['token'] }
]
}
}

Then reference in feature:

When I am logged in

➡️ Next: CLI Commands