Mock HttpPostedFileWrapper

本文关键字:HttpPostedFileWrapper Mock | 更新日期: 2023-09-27 18:34:27

我正在尝试模拟MVC对象HttpPostedFileWrapper以便我可以特别测试"ContentType"和"InputStream"属性。我设置了我的模拟,如下所示:

var mockPostedFile = new Mock<HttpPostedFile>();
var mockFileWrapper = new Mock<HttpPostedFileWrapper>(mockPostedFile);
mockFileWrapper.Setup(file => file.ContentType).Returns("application/pdf");
mockFileWrapper.Setup(file => file.InputStream).Returns(fileStream);

但我在第一行得到这个异常:

模拟类型必须是接口或抽象或非密封类。

如果我将HttpPostedFile更改为HttpPostedFileBase则在调用mockFileWrapper.Object时会出现此异常

不能实例化类的代理:System.Web.HttpPostedFileWrapper。 找不到与给定参数匹配的构造函数: Moq.Mock'1[System.Web.HttpPostedFileBase]

有谁知道我能做些什么来做到这一点?

Mock HttpPostedFileWrapper

你应该嘲笑HttpPostedFileBase,而不是HttpPostedFileWrapper

你不能模拟没有公共构造函数的类型,例如 HttpPostedFile

相关文章:
  • 没有找到相关文章