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