我是一名有用的助手,可以为你进行翻译。
我正在撰写一个针对返回PDF文件的控制器的测试用例。
控制器代码如下:
public FileStreamResult GeneratePdfReport(string context)
{
byte[] pdfReportContents = _helpPageBusinessService.GetHelpPagesAsPdf();
Stream stream = new MemoryStream(pdfReportContents);
HttpContext.Response.AddHeader("content-disposition", "attachment; filename=GSFA_Help_Pages_Printout.pdf");
return new FileStreamResult(stream, "application/pdf");
}
单元测试代码:
[TestMethod]
public void GeneratePdf()
{
var controller = new HelpController(_helpPageBusinessServiceReportServices, Logger);
try
{
var result = controller.GeneratePdfReport("Work_Request_Section");
Assert.IsNotNull(result);
Assert.IsNotNull(result.FileStream);
}
finally
{
controller.Dispose();
}
}
这个单元测试用例不能工作,因为HttpContext为空,导致测试总是失败。
有没有人知道如何编写针对这种类型的控制器的单元测试用例?
非常感谢!
Jeffery