如何获取返回错误请求状态代码的详细信息(自定义错误消息)?这样我就可以对其进行 ASSERT

How to I get the detail (custom error message) returned with a bad request status code? So that I can do an ASSERT on it

你好,我正在设置一些集成测试(使用 Xunit),我想 运行 断言以检查是否返回了正确的自定义错误消息。

这是我需要获取的数据,在以下响应中参见图片... 详细信息:“用户名必须是唯一的”不要担心此消息稍后会被修改为更有用我只是想让它先工作

Required Info

这是当前代码...

        //Act

        response = await _httpClient.PostAsync("CompleteUserSetup", formContent);

        //Assert

        Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode) ; //Bad request should be returned
        //TODO: check custom error message is correct

所以希望...

ASSERT.Equal(“用户名必须是唯一的”,从响应中获取详细信息的一些代码)

好的,我想出了如何获取我需要的数据。我只需要将结果转换为一个对象,然后我就可以提取我需要的详细数据。

var resultModel = await System.Text.Json.JsonSerializer.DeserializeAsync<Result>(response.Content.ReadAsStream(), JsonSerializerHelper.DefaultDeserialisationOptions);

var errorMessage = resultModel.detail;