【发布时间】:2019-01-01 00:32:40
【问题描述】:
我正在尝试为我的 .Net Core Web Api 创建集成测试
但我总是收到 400 Bad Request 响应。我在下面分享详细信息
这是我的控制器方法
public IActionResult UpdateProductById([FromBody]int id, string description)
{
var result = ProductService.UpdateProductById(id, description);
if (result.Exception == null)
return Ok(result);
else
return BadRequest(result.Exception.Message);
}
这是我的测试类(试图发布)
[Fact]
public async Task UpdateProductById_Test_WithProduct()
{
var product = new
{
id = 1,
description = "foo"
};
var productObj= JsonConvert.SerializeObject(product);
var buffer = System.Text.Encoding.UTF8.GetBytes(productObj);
var byteContent = new ByteArrayContent(buffer);
byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var result = await _tester.Client.PostAsync("/api/1.0/UpdateProductById", byteContent);
result.StatusCode.Should().Be(HttpStatusCode.OK);
}
【问题讨论】:
-
您好,异常消息中的内容是什么?
-
您在调用“BadRequest”时隐藏了真正的错误。
-
Nkosi 的评论解决了 PoulBak 和 Stefan 的问题。非常感谢您的关注
标签: c# asp.net-core