このツールについて
feature ファイルはテスターだけでなく、プロダクトオーナーや開発者も読むため、レイアウトの統一は重要です。このツールは Feature、Rule、Background、Scenario、Scenario Outline、Examples の各ブロックをインデントし直し、タグを対応する要素と一緒に配置し、データテーブルと Examples テーブルの縦棒をそろえ、Doc String の中身は基準のインデント以外は手を付けません。基本的なリントチェックも行います。Then ステップのないシナリオ、重複したシナリオ名、シナリオ外のステップ、Examples のない Scenario Outline、対応する Examples 列のないプレースホルダー、列数がそろっていないテーブル行、閉じていない Doc String などです。英語のキーワードに対応し、すべてブラウザ内で動作します。
使い方
- .feature ファイルの内容を貼り付けるか、「Load sample」(サンプルを読み込む)で意図的に問題を含めたファイルを確認します。
- 2 スペースか 4 スペースを選びます。整形・ハイライトされた版が右側に、リントの結果が入力の行番号とともに下に表示されます。
- 結果をコピー・ダウンロードするか、「Replace input with formatted」(入力を整形結果で置き換える)をクリックして、きれいになった版で編集を続けます。
Gherkin 整形・リントツール のよくある質問
Then ステップのないシナリオが警告されるのはなぜですか?
Then ステップにはアサーションが入ります。Given と When のステップしかないシナリオは操作を行うだけで何も検証しないため、例外が発生しない限り合格してしまいます。リンターは、Then の後の And と But を Then ブロックの一部として扱います。
ステップの文言は変更されますか?
いいえ。変更するのはインデント、タグ間の余分なスペースの圧縮、テーブルのセルのパディングだけです。ステップの文言、クォートされたパラメーター、Doc String の内容はそのまま保持されます。
通常の Scenario の下に Examples を置いてもよいですか?
Gherkin 6 以降、Examples テーブルがあれば Scenario と Scenario Outline は互換で、Cucumber はアウトラインとして実行します。リンターはどちらも受け付けますが、<user> のようなプレースホルダーは引き続き Examples の列見出しと一致している必要があります。