[英]How to return mock object as a null
正如主题所说,我不知道如何在我的MVC测试项目中将模拟对象返回为null。 我是进行单元测试的新手。
我有一个动作:
[HttpPost]
public ActionResult Edit(ClubToAddVM clubToAddVm, HttpPostedFileBase imageFile)
{
if (ModelState.IsValid)
{
if (imageFile!=null)
{
clubToAddVm.ImageMimeType = imageFile.ContentType;
clubToAddVm.ImageData = new byte[imageFile.ContentLength];
imageFile.InputStream.Read(clubToAddVm.ImageData, 0, imageFile.ContentLength);
}
}
...
}
我希望在我的测试中将imageFile对象作为null传递。 不幸的是我无法创建HttpPostedFileBase
抽象类的实例,我想尝试这样的事情:
var mockImageFile = new Mock<HttpPostedFileBase>();
但后来我不知道如何将其设为null,因为mockImageFile.Object
是只读的。 有任何想法吗?
如果要将其设为null
,则不必创建实例,只需执行以下操作:
HttpPostedFileBase imageFile = null;
它是一个抽象类确实意味着你不能创建它的实例,但声明该类型的变量并将其设置为null
是完全正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.