プレトピック:
この問題については、Specflowの安定性のトピックで前述しましたが、新しいトピックで再度取り上げたいと思います。これは、前のトピックのタイトルが誤解を招きやすく(Specflowの安定性は問題ではないと思います)、問題にさらに正確に対処できるためです。
問題:
50程度のテストの完全なテストセットを実行すると、ほとんどの場合、ランダムに1つまたは2つのテストが失敗します(テストが失敗しない場合もあります)。完全なテストセットをより小さなテストセットにスライスし(たとえば、個別のユーザーストーリーごとに7つまたは8つのテストのテストセット)、これらのセットを個別に実行すると、すべてのテストに合格します。Specflowの安定性で述べたLukeMcGregorのように、テストはデータを共有しているため失敗しているようです。しかし、なぜこれは完全なセットが実行されたときにのみ発生し、小さいセットを使用しているときは発生しないのですか?
背景:
50程度のSpecflowテストのセットを実行しようとしています。これらのテストはすべて、WebサイトのUIをテストするように設計されています。テストは、ランナーツールとしてMsTestを使用して、VisualStudio2010で実行されます。使用しているブラウザはFireFoxです。現在、テストで実行される手順は次のとおりです。
- 各シナリオの前に、新しいIISプロセスと新しいBrowserSessionが開始されます。
- シナリオが実行されます。
- 各シナリオの後、IISプロセスとBrowserSessionは終了します。
個々のテストシナリオの前に新しいIISプロセスと新しいBrowserSessionを開始する理由は、Lukeが述べた「データ共有」のリスクを最小限に抑えるためです。残念ながら役に立たなかった。
私は今、問題が何であるかについて少し迷っています。私はここで明白な(またはおそらくそれほど明白ではない)何かを見逃していますか?
前もって感謝します!