私は、行動について、の能力の点で考えるのが好きです。ファイルのアップロード中にミスを修正
- アップロードファイル
- :私はあなたがここにカップルを持っていることがわかります。
だから私は、これらの2つのシナリオであることを期待する:
- あなたが実際にファイル
- あなたはあなたが作る間違いを修正ワンをアップロードひとつ。
多くの人が、シナリオでは「いつ」を1つだけすべきだと言いますが、それは人とのやりとり(過去の誤った自己を含む)や時間を考慮していません。この状況では、それは値を提供するファイルアップロードを修正する全プロセスです。中間のステップでは値が見えないので、すべてを1つのシナリオに残しておきます。
ファイルシステムに空きがないなど、さまざまなコンテキストに関連する動作が異なる場合(たとえば、アップロードされたファイルが多すぎるなど)、結果がルールに含まれていない場合(例:超高速アップロードのために)私はそれらが新しいシナリオであると期待します。ファイルのアップロードや起こったさまざまなシナリオがたくさんあるという点に着手すれば、このシナリオを分離するのに良い時期になるかもしれません。今、私はそれをする理由を見ることができません。
最初の部分は失敗しました:BDDを正しく実行している場合は、システムの動作だけでなく、コードの個々のビットの動作についても話すことになります。それはバグの可能性を最小限に抑える良いデザインを生み出すのに役立ちます。本当に良いBDDチームはほとんどバグを捉えないシナリオを作り出しています!
シナリオは、回帰テストではなく、生きたドキュメントとして機能します。将来の開発者がコードの価値を理解して正しいものにするのを助け、間違ってしまうのを防ぐためにそれを打ち砕くのではなく、
私はそれが失敗することについて心配しないでしょう。それが多ければ、あなたは別の問題を抱えています。ほとんどの時間を過ぎているかのようにコードし、読みやすく分かりやすいかどうか確認してください。あなたが失敗したときにそれを見て、それが少し時間がかかるとしても、それはうまくいくでしょう。
Codeceptが少なくとも失敗を止めるオプションを持っていないと私は驚いています。ほとんどのBDDツールは、失敗したステップの後でシナリオを続行しません。それは奇妙なことです。