私は20歳以上のユニットテストを書いていますが、私はガーキンを初めて使っていますが、このようなものになる.featureファイルのストーリーを実装するという課題がありました。シナリオ間のガーキン状態の維持
Scenario: a
Given that the app is open
When I open a certain dialog
Then it has a thing somewhere
Scenario: b
Given that the dialog from 'a' is open...
# Imagine here a long chain of scenarios, each depending on the previous
Scenario: n
Given that the previous 'n' steps have all completed....
つまり、シナリオは長く、長い連鎖であり、それぞれ前身が設定したシステムの状態によって異なります。
これは単体テストに慣れていた人にとっては気にしませんが、これらのシナリオは分割されずに別々に実行されることはありません。
ここでベストプラクティスは何ですか?
非常に長いシナリオに書き直すべきですか?
私はすでにステップ定義から自分のコードの大部分を守るために「ページオブジェクト」を使用しています。後のシナリオで再利用できる単一コールとしてステップをコーディングする必要がありますか?
私はJucascriptでCucumberを実行しています。最初
私は99.99%の時間に同意します。あなたが前のシナリオから州を使用することがOKだと思う時間の0.01%の間、私は同意しません。ちょうど私の独断的な意見。その状態では、シナリオはグリッド上ではなく特定の順序で実行する必要があります。 –
私が推奨する唯一の時間は、新しいシナリオが依然としてCIで受け継がれるように、前のシナリオのステップ定義をまだ開発しているときです。 完璧な世界では、以前のシナリオのステップ定義が書かれていますが、ジュニターテスターが大学の新聞に書き込まれていて、おそらく言語を完全に理解していない可能性があります。 ステップ定義が作成された後、または前のシナリオがバックグラウンドに変換されると、それは廃止され、したがって、_correct_に変更されます。 –
ありがとう、@KyleFairns - 私は、この機能に非常に長い一連のシナリオがあり、それぞれが前任者に依存していることを強調するために質問を編集しました。 – LeeGee