up:: Programming
same:: TDD
テスト駆動開発をより実際の機能に近づけて説明した概念、Behavior Driven Developmentにおいて、補足的に用いられるフレームワークのうち、ソフトウェアの機能性についての振る舞いをユーザー視点からシナリオとして表現するStoryBDDという物を、実現するために使われる実際のフレームワークCucumberで使われるシナリオ記述用記法。
Feature: きゅうりを食べる
# description
人がきゅうりを食べるときの振る舞い
Scenario: 数十本のきゅうりを食べるとお腹が満たさせる
Given: 太郎は空腹である
When: 太郎はきゅうりを50本食べる
Then: 太郎は満腹になる
状態、動作、期待の三つをまとめて記述する。Markdownと同じく自然言語。
仕様は書かない。仕様はBDDの補足フレームワーク、SpecBDDにおいて記述する。
Extensionは.feature。
公式リファレンスの日本語訳。
Karateを始めるので、Gherkin記法を理解する API - Qiita
ちなみにCucumberはほとんどの主要言語をサポートするテストフレームワーク。
Installation - Cucumber Documentation
APIテストをGherkinで書けるフレームワークもある。
APIテスト自動化ツール「Karate」のまとめ bdd - Qiita