2017-12-14 8 views
0

何を好まれる(またはちょうど良い)このようなマルチパートCodecept.jsシナリオのパターン、:複数のCodecept.jsシナリオをどのように構成する必要がありますか?

  1. アップロードするファイルを選択。
  2. 選択をクリアします。
  3. 選択を解除した後にアップロードするファイルを選択します。

私は、単一のシナリオでこれを行うと、部品を描写するためにI.sayを使用しますが、私はこれらのような独立したシナリオを書き、パート2に.onlyを使用することができるはずのようにそれは感じている、例えば、部品1を持つことができますそれはそれに依存しているので、パート2の前に実行します。

スイート全体を実行しているときにパート1が失敗した場合は、パート2とパート3もスキップします。

答えて

2

私は、行動について、の能力の点で考えるのが好きです。ファイルのアップロード中にミスを修正

  • アップロードファイル
  • :私はあなたがここにカップルを持っていることがわかります。

だから私は、これらの2つのシナリオであることを期待する:

  • あなたが実際にファイル
  • あなたはあなたが作る間違いを修正ワンをアップロードひとつ。

多くの人が、シナリオでは「いつ」を1つだけすべきだと言いますが、それは人とのやりとり(過去の誤った自己を含む)や時間を考慮していません。この状況では、それは値を提供するファイルアップロードを修正する全プロセスです。中間のステップでは値が見えないので、すべてを1つのシナリオに残しておきます。

ファイルシステムに空きがないなど、さまざまなコンテキストに関連する動作が異なる場合(たとえば、アップロードされたファイルが多すぎるなど)、結果がルールに含まれていない場合(例:超高速アップロードのために)私はそれらが新しいシナリオであると期待します。ファイルのアップロードや起こったさまざまなシナリオがたくさんあるという点に着手すれば、このシナリオを分離するのに良い時期になるかもしれません。今、私はそれをする理由を見ることができません。

最初の部分は失敗しました:BDDを正しく実行している場合は、システムの動作だけでなく、コードの個々のビットの動作についても話すことになります。それはバグの可能性を最小限に抑える良いデザインを生み出すのに役立ちます。本当に良いBDDチームはほとんどバグを捉えないシナリオを作り出しています!

シナリオは、回帰テストではなく、生きたドキュメントとして機能します。将来の開発者がコードの価値を理解して正しいものにするのを助け、間違ってしまうのを防ぐためにそれを打ち砕くのではなく、

私はそれが失敗することについて心配しないでしょう。それが多ければ、あなたは別の問題を抱えています。ほとんどの時間を過ぎているかのようにコードし、読みやすく分かりやすいかどうか確認してください。あなたが失敗したときにそれを見て、それが少し時間がかかるとしても、それはうまくいくでしょう。

Codeceptが少なくとも失敗を止めるオプションを持っていないと私は驚いています。ほとんどのBDDツールは、失敗したステップの後でシナリオを続行しません。それは奇妙なことです。

0

私が知る限り、コードセプトでの実行の優先順位を設定することはできません。 1つのテストをうまく行うこと。いくつかの部分を追加または削除する必要がある場合は、より柔軟になります。

関連する問題