我有一个webapi,其中一个端点是文件上传。我正在使用moq和xunit(.netcore)测试我的api。虽然我可以为其他人编写测试用例,但是我不确定如何对我的文件执行相同的操作。此上载期望将excel文件作为输入,通过读取excel工作表的列和行进行一些处理,然后将Jarray返回到UI。以下是我用于文件上传的api端点:
[HttpPost("file/upload")]
public async Task<IActionResult> UploadData(IFormFile file)
{
JArray dataArray = new JArray();
try
{
using (ExcelPackage package = new ExcelPackage(file.OpenReadStream()))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
//Check if excel is empty.
if (worksheet.Dimension == null)
{
//throw error
}
else
{
//Read from excel populate dataArray
}
}
return Ok(dataArray);
}
catch (Exception e)
{
return BadRequest(e.Message);
}
}
仅供参考,我使用的是ExcelPlus OfficeOpenXml,用于我的Excel。