无法使用 RestSharp 声明错误请求 [HTTP 400 错误]。投掷 System.Net.Http.HttpRequestException
Cannot assert Bad Request [HTTP 400 error] using RestSharp. Throws System.Net.Http.HttpRequestException
我使用 RestSharp 编写了以下测试,预期结果是 return 错误 400 以及一些 Json 格式的错误消息。
但以下测试在 await 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);
}
有效的解决方案。谢谢 Nicolas VERHELST...
[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);
}
如果您担心当状态不好(例如 400)时方法 PostAsync(..)
会抛出,您可以使用 ExecutePostAsync(..)
。
请参阅此处的 table:https://restsharp.dev/error-handling.html
我使用 RestSharp 编写了以下测试,预期结果是 return 错误 400 以及一些 Json 格式的错误消息。
但以下测试在 await 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);
}
有效的解决方案。谢谢 Nicolas VERHELST...
[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);
}
如果您担心当状态不好(例如 400)时方法 PostAsync(..)
会抛出,您可以使用 ExecutePostAsync(..)
。
请参阅此处的 table:https://restsharp.dev/error-handling.html