我想对返回PDF文件的FileContentResult的方法进行单元测试。我正在做一些测试来检查内容类型和文件名,但如果我也可以生成PDF作为测试的一部分,那会很好吗?我目前有一个方法如下:
public FileContentResult ConvertToPDF(int baseClassId)
{
try
{
return new DocumentWriter().ConvertDocumentToPDFSharp(baseClassId);
}
catch (Exception ex)
{
Logger.Instance.LogError("Error in Assessments_FormHeaderController ConvertToPDF", ex);
return new FileContentResult(GetBytes("Error fetching pdf, " + ex.Message + Environment.NewLine + ex.StackTrace), "text/plain");
}
}
我正在测试以下内容:
[TestMethod]
public void ReturnFileContentResult()
{
DocumentPDFPrinterController pdfController = new DocumentPDFPrinterController();
FileContentResult result = pdfController.ConvertToPDF(0);
Assert.IsTrue(result.ContentType == "application/pdf" && result.FileDownloadName.Contains(".pdf"));
}
我可以添加任何东西到这个文本,将在给定的位置创建pdf文件(用户下载?).