asp.net-web-api – ASP.NET WebApi测试 – 断言请求返回404响应

前端之家收集整理的这篇文章主要介绍了asp.net-web-api – ASP.NET WebApi测试 – 断言请求返回404响应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我用以下方法创建了一个ApiController:
public User Get(int id)
    {
        var user = DocumentSession.Load<User>(id);
        if(user!=null)
        {
            return Mapper.Map<User>(user); 
        }
        throw new HttpResponseException(HttpStatusCode.NotFound);
    }

我正在尝试为此方法编写测试,该测试断言当将无效的id传递给函数时,它会返回适当的404响应.

目前我有:

[Test]
    public void get_invalid_user_returns_404()
    {
        Assert.Throws<HttpResponseException>(()=>_usersController.Get(1001));
    }

这工作并通过,但它没有断言它是404响应,只是抛出了正确的异常类型.我应该在这做什么来断言结果是404

谢谢

解决方法

假设您正在使用NUnit,您可以这样做:
[Test]
public void get_invalid_user_returns_404()
{
    HttpResponseException ex = Assert.Throws<HttpResponseException>(()=>_usersController.Get(1001));
    Assert.That(ex.Response.StatusCode,Is.EqualTo(HttpStatusCode.NotFound));
}

应该做的伎俩.

猜你在找的asp.Net相关文章