簡體   English   中英

如何將mock對象作為null返回

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM