加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:09:20 所属栏目:asp.Net 来源:网络整理
导读:我用以下方法创建了一个ApiController: public User Get(int id) { var user = DocumentSession.LoadUser(id); if(user!=null) { return Mapper.MapUser(user); } throw new HttpResponseException(HttpStatusCode.NotFound); } 我正在尝试为此方法编写测试
我用以下方法创建了一个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));
}

应该做的伎俩.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读