0

nunit 2.6.4 では、失敗したテストを再実行するために以下の C# コードを使用しました。

TestExecutionContext.CurrentContext.CurrentTest.Run(new NullListener(), TestFilter.Empty);

しかし、nunit 3.2 にアップグレードした後、TestExecutionContext.CurrentContext.CurrentTest は null を返します。3.2 でテストを再実行するにはどうすればよいですか?

4

4 に答える 4

2

一時的なネットワーク エラーなどが原因でテストが失敗することがあるためにテストを再実行しようとしている場合、NUnit 3.x では、指定された回数だけテストを再試行するRetry属性が導入されました。

于 2016-04-19T23:26:41.253 に答える
0

残念ながら、NUnit 2.6.4 で行っていたことは、サポートされているテストの実行方法ではありませんでした。多くの内部クラスを使用することによってのみ機能しました。将来任意に変更される可能性のある内部クラスやメソッドを使用するのではなく、公開された API を使用して必要な機能を要求することをお勧めします。

于 2016-04-20T05:07:45.040 に答える
0

NUnit 3.x でこれを行う方法を考えることができる唯一の方法は、ループで失敗を引き起こす可能性のあるテスト コードをラップし、catch ブロックで続くループ内に try catch ブロックを配置することです。

再試行回数パラメーターを渡してループ内でカウントし、最大再試行回数に達したらテストを失敗させることができます。

于 2016-04-20T03:06:52.703 に答える