gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:56:48 25 4
gpt4 key购买 nike

我使用以下方法创建了一个 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-web-api - ASP.NET Web Api 测试 - 断言请求返回 404 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10365137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com