如何使用Moq对此操作进行单元测试?

时间:2012-04-19 17:23:18

标签: c# asp.net-mvc moq

这个动作做了几件事,但我不知道从哪里开始Moq,新手在这里。

        [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);
    }

1 个答案:

答案 0 :(得分:0)

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

除此之外,代码片段已经非常可测试,假设SetupContext没有做任何不妥之处。

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

相关问题