Gherkin
自然言語でユニットテストを表現するアイデア
🤖
Gherkin(ガーキン)
BDD(振る舞い駆動開発)で使われる自然言語に近い仕様記述言語。ツールはCucumberが有名。
基本構文
code:gherkin
Feature: ログイン機能
Scenario: 正しいパスワードでログインできる
Given ユーザーがログインページにいる
When メールアドレスとパスワードを入力する
Then ダッシュボードにリダイレクトされる
キーワード
Feature - 機能の説明
Scenario - テストケース
Given - 前提条件
When - 操作・イベント
Then - 期待される結果
And / But - 条件の連結
仕組み
各ステップ(Given/When/Then)にコードを対応付ける「ステップ定義」を別途書く
Gherkin自体は実行されず、ステップ定義が実際のテストコードになる
仕様書テストの文脈での位置づけ
「人間が読める仕様」と「実行可能なテスト」を同一ファイルに共存させる試み
まさに「仕様書のユニットテスト」の先行事例
問題点:ステップ定義のメンテが結局コード管理になる → 本質的な問題は解決していない
LLM時代との接続
GherkinをLLMに読ませてステップ定義を自動生成、という使い方は今すでにある
仕様書言語として洗練させると、「自然言語テスト」に近づく可能性がある