小编Ume*_*shB的帖子

无法使用 RestSharp 断言错误请求 [HTTP 400 错误]。抛出 System.Net.Http.HttpRequestException

我使用 RestSharp 编写了以下测试,预期结果是返回错误 400 以及一些 Json 格式的错误消息。

但以下测试在等待 client.PostAsync(request) 处失败并抛出“System.Net.Http.HttpRequestException:请求失败,状态代码为 BadRequest”,并且未到达断言语句。

使用 Fiddler 我验证了我的请求,并且响应按预期工作。

将不胜感激任何解决这个问题的建议。谢谢你!

    [Test]
    public async Task Test1Async()
    {
        var jsonData = json;
        var client = new RestClient(endpoint);
        var request = new RestRequest();
        request.AddStringBody(jsonData, ContentType.Json);
        var response = await client.PostAsync(request);
        Assert.AreEqual(400, response.StatusCode);
    }
Run Code Online (Sandbox Code Playgroud)

有效的解决方案。谢谢尼古拉斯·费尔赫斯特...

    [Test]
    public async Task Test1Async()
    {
        var jsonData = json;
        var client = new RestClient(endpoint);
        var request = new RestRequest();
        request.AddStringBody(jsonData, ContentType.Json);
        var response = await client.ExecutePostAsync(request);
        Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
    }
Run Code Online (Sandbox Code Playgroud)

c# restsharp web-api-testing

6
推荐指数
1
解决办法
3850
查看次数

标签 统计

c# ×1

restsharp ×1

web-api-testing ×1