C# 如何使用Moq对该操作进行单元测试?

C# 如何使用Moq对该操作进行单元测试?,c#,asp.net-mvc,moq,C#,Asp.net Mvc,Moq,这个动作可以做几件事,但我不知道从哪里开始,这里的新手。 [Authorization.AppAuthorize] public ActionResult Form() { // Create a new Supplier request form StoreRequestViewModel requestForm = new StoreRequestViewModel(); requestForm.OwnerGui

这个动作可以做几件事,但我不知道从哪里开始,这里的新手。

        [Authorization.AppAuthorize]
    public ActionResult Form()
    {
        // Create a new Supplier request form
        StoreRequestViewModel requestForm = new StoreRequestViewModel();
        requestForm.OwnerGuid = Guid.NewGuid();

        // Keep in mind the request form ids
        this.Session[requestForm.OwnerSessionCacheKey] = requestForm as IRequestFormViewModel;

        SetupContext();

        return View("IndexForm", requestForm);
    }

首先,您需要为此控制器实例模拟
ControllerContext
。这使您可以为所需的
会话设置容器

除此之外,假设
SetupContext
没有做任何不正常的事情,那么代码片段已经可以测试了

您只需获取
ActionResult
,转换到
ViewResult
,然后检查
ViewResult.ViewData.Model
属性(转换为
StoreRequestViewModel
)并测试属性