【发布时间】:2021-12-24 09:29:41
【问题描述】:
我有这个工作的 Xunit 代码。
[Fact]
public async Task When_DocumentTypeInvalidFileType_Then_ShouldFail()
{
using (var client = new HttpClient())
{
var filePath = @"D:\Files\test.pdf";
using (var stream = File.OpenRead(filePath))
{
using (var form = new MultipartFormDataContent())
{
form.Add(new StringContent(Guid.NewGuid().ToString()), "Id");
var file = new StreamContent(stream);
file.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
form.Add(file, "File", Path.GetFileName(filePath));
// Act
var response = await client.PostAsync("/ABC/Document", form);
var responseString = await response.Content.ReadAsStringAsync();
_output.WriteLine("response: {0}", responseString);
HttpStatusCode statusCode = response.StatusCode;
Assert.Equal(HttpStatusCode.BadRequest, statusCode);
var result = JsonConvert.DeserializeObject<ResponseMessage>(responseString);
Assert.Equal("Invalid file type.", result.file[0]);
}
}
}
但上述仅测试一种情况。如何使用 XUnit InlineData 以便为 MultipartFormDataContent 插入多个测试数据?
【问题讨论】: