1
我想編寫一個單元測試以確保我得到一個帶有從特定方法拋出的404狀態碼的WebException。使用NUnit測試WebFaultException的HTTP狀態
的引發WebException位是很容易:
[Test]
[ExpectedException(typeof(WebFaultException))]
public void CheckForWebFaultException()
{
var myClass = new MyClass();
myClass.MyMethod();
}
然而,這可能是一個404,400,401或任何其它的其他HTTP代碼的無數的。
我可以做一個嘗試/ catch/Assert.True,但這感覺像一個黑客攻擊。有沒有辦法對拋出異常的屬性進行置亂?
喜歡的東西
Assert.Throws(typeof(WebFaultException), myClass.MyMethod(), wfx => wfx.StatusCode == HttpStatusCode.NotFound);