2011-08-09 5 views
6

WebサイトUIオートメーションのテストケースはほとんどありません。NUnit - テストケースを3回繰り返します。失敗した場合は

1回目と2回目に失敗した場合、少なくとも3回はテストケースを試してみたいと思います。そうすれば、このテストケースが一貫して失敗していることを確認したいと思います。

NUnitで使用するオプションがあれば教えてください。私はNUnitでC#を使用しています。

+4

を参照してください、テストが間違っています。ユニットテストは失敗するか、成功します。あなたのテストにはどのような論理がありますか? – NOtherDev

+0

単体テストの統合テストを混乱させる可能性はありますか?後者は、既に指摘したように、一貫しているべきである。 –

答えて

2

nunitがテストの結果を伝えるために使用する4つの例外があります。これらは、TimeoutException、AssertException、SuccessException、およびIgnoreExceptionです。あなたはあなたのnunitテスト機能の中からこれらを使うことができます。テストコードをtry-catchに入れて、nunitのassert例外を正確に2回キャッチすることができたと思います。しかし、前にコメントしたように、断続的に失敗するテストの必要性は再考する理由であると言います。

+3

私たちはWeb UIの自動化に取り組んでいます。ページが正しく読み込まれない、またはネットワークの問題や一時的な問題が発生する可能性があります。私たちは、2/3サイクル以内に同じことをして、人々が時間を費やして調査できるようにしたいと考えています。また、これは誤ったアラームを克服します。 – kumar

5

ロジックのループでは、失敗回数をカウントします。アサート(失敗== 0)ブームが完了しました。

これを行わないでください。あなたが一貫していると証明できるより良いテストを書いてください。

+1

私たちはWeb UIの自動化に取り組んでいます。ページが正しく読み込まれない、またはネットワークの問題や一時的な問題が発生する可能性があります。私たちは、2/3サイクル以内に同じことをして、人々が時間を費やして調査できるようにしたいと考えています。また、これは誤ったアラームを克服します。 – kumar

+0

あなたが探している特定の例外はありますか?問題の原因となっている特定のエッジケースはありますか?一見無作為な数の「2〜3」サイクルを使用するテストを書くことは、強く、有益な、または検証可能なテストのようには聞こえません。失敗したページを強制的に読み込むためのテストを書くことができます。私はこれがあなたに偽りの自信を与えるように感じる? –

15

リピート属性に基づいてnunitに新しいアトリビュートを追加し、ライブラリをリビルドすることができます。それはとても簡単です。

[Test] 
    [Repeat(25)] 
    public void MyTest(){ 
     // your test logic here 
    } 
5

NUnit 3.0からは、クメールが望むものとまったく同じように見える「再試行」属性があります。

テストは唯一、時には失敗することができればRetry Attribute

関連する問題