使用nunit C#上传文件的单元测试用例
Unit test case for uploading file using nunit C#
我正在编写一些单元测试来检查我的网络服务端点。幸运的是,我为 get/post 请求编写了一些测试用例,除了那个之外,它工作正常。
我想写测试用例来检查webservice的文件上传方法。 PostMan 上的网络服务端点是:
请求正文采用 userID 和 fileUpload 属性。
我为此编写了基本代码,但不知道如何在 Nunit 测试用例中将表单数据作为请求主体传递。
private HttpClient _client;
[Test]
public async Task UploadPDFfile()
{
var response = await _client.PostAsync("http://localhost:5000/documents/");
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
谁能告诉我如何在 Nunit 测试 C# 的 PostAsync 方法中传递表单数据属性来检查文件上传功能。
我喜欢在这种测试中使用 foo 文件。
HttpClient.PostAsync()
有一个名为 content 的参数。
您应该创建一个 HttpContent
实例并使用 post 方法发送它:
var filePath = "yourFooFilePathHere";
using (var fs = File.OpenRead(filePath))
using (var fileContent = new StreamContent(fs))
{
var content = new MultipartFormDataContent
{
{ fileContent, "file", yourFileName }
};
content.Add(new StringContent(userId.ToString(), Encoding.UTF8, "application/json"));
var response = await _client.PostAsync("http://localhost:5000/documents/", content);
}
请注意,我将创建的 HttpContent
作为参数传递给 PostAsync
方法。
我正在编写一些单元测试来检查我的网络服务端点。幸运的是,我为 get/post 请求编写了一些测试用例,除了那个之外,它工作正常。 我想写测试用例来检查webservice的文件上传方法。 PostMan 上的网络服务端点是:
请求正文采用 userID 和 fileUpload 属性。
我为此编写了基本代码,但不知道如何在 Nunit 测试用例中将表单数据作为请求主体传递。
private HttpClient _client;
[Test]
public async Task UploadPDFfile()
{
var response = await _client.PostAsync("http://localhost:5000/documents/");
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
谁能告诉我如何在 Nunit 测试 C# 的 PostAsync 方法中传递表单数据属性来检查文件上传功能。
我喜欢在这种测试中使用 foo 文件。
HttpClient.PostAsync()
有一个名为 content 的参数。
您应该创建一个 HttpContent
实例并使用 post 方法发送它:
var filePath = "yourFooFilePathHere";
using (var fs = File.OpenRead(filePath))
using (var fileContent = new StreamContent(fs))
{
var content = new MultipartFormDataContent
{
{ fileContent, "file", yourFileName }
};
content.Add(new StringContent(userId.ToString(), Encoding.UTF8, "application/json"));
var response = await _client.PostAsync("http://localhost:5000/documents/", content);
}
请注意,我将创建的 HttpContent
作为参数传递给 PostAsync
方法。