NCrunch (1.46.0.30) is showing the test as a failure when an exception is thrown
Resharper (7.3) and the VS2012 test runner both show the test as passing
public sealed class HttpResponseExceptionExpectedAttribute : ExpectedExceptionBaseAttribute
{
private readonly HttpStatusCode _expectedCode;
public HttpResponseExceptionExpectedAttribute(HttpStatusCode expectedCode) : this(expectedCode, "No exception was thrown") { }
public HttpResponseExceptionExpectedAttribute(HttpStatusCode expectedCode, string noExceptionMessage)
: base(noExceptionMessage)
{
_expectedCode = expectedCode;
}
protected override void Verify(Exception exception)
{
Assert.IsNotNull(exception);
Assert.IsInstanceOfType(exception, typeof(HttpResponseException), "Wrong type of exception thrown");
var responseException = exception as HttpResponseException;
Assert.AreEqual(_expectedCode, responseException.Response.StatusCode);
}
} [TestMethod]
[HttpResponseExceptionExpected(HttpStatusCode.Forbidden)]
public void ExampleTest()
{
throw new HttpResponseException(HttpStatusCode.Forbidden);
}