私は Microsoft WebTest を使用しており、NUnit のAssert.Fail()
. 私が思いついた最善の方法throw new webTestException()
は、テスト結果でError
はFailure
.
失敗を示すためにプライベートメンバー変数を設定することを反映する以外に、WebTest
私が見逃しているものはありますか?
編集: メソッドも使用しましたAssert.Fail()
が、WebTest 内から使用すると失敗ではなくエラーとして表示され、Outcome
プロパティは読み取り専用です (パブリック セッターはありません)。
編集:さて、私は本当に困惑しています。リフレクションを使用してOutcome
プロパティを Failed に設定しましたが、テストは引き続き成功します。
Oucome を失敗に設定するコードは次のとおりです。
public static class WebTestExtensions
{
public static void Fail(this WebTest test)
{
var method = test.GetType().GetMethod("set_Outcome", BindingFlags.NonPublic | BindingFlags.Instance);
method.Invoke(test, new object[] {Outcome.Fail});
}
}
そして、これが私が失敗しようとしているコードです:
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
this.Fail();
yield return new WebTestRequest("http://google.com");
}
Outcome
に設定されてOucome.Fail
いますが、どうやら WebTest フレームワークは実際にはこれを使用してテストの合格/不合格の結果を判断していません。