【发布时间】:2022-01-26 11:48:59
【问题描述】:
我有一个使用 IFormFileCollection 的方法,我想对其进行单元测试。
我的方法:
public IActionResultUploadBankAccount(){
IFormFileCollection files = Request.Form.Files;
if (!files.Any()) return Ok(new GeneralDto.Response("Check your files!"));
// and my codes
}
还有我的授权码:
MockAuthorize.cs:
public static void Authorize(this ControllerBase controller,....){
//my codes
var bytes = Encoding.UTF8.GetBytes("This is a text file");
IFormFile file = new FormFile(new MemoryStream(bytes), 0, bytes.Length, "Data", @"\Mock\Images\testFile.jpg");
}
当我尝试测试它时,方法会抛出错误:
System.NullReferenceException : 对象引用未设置为对象的实例。
我做错了什么?或者有什么方法可以测试 FormFileCollection?
【问题讨论】:
-
不需要模拟它,因为一个简单的默认实现already exists。这很可能是XY problem。您需要显示实际导致问题的代码,以便我们为您提供相应的帮助
标签: c# unit-testing mocking iformfile