我将以下操作方法定义为Controller类。
public ActionResult Register()
{
RegisterViewModel model = new RegisterViewModel();
model.UserType = 2;
return View(model);
}
我需要为这些方法编写测试用例。
AccountController controller = new AccountController();
// Act
ViewResult result = controller.Register() as ViewResult;
// Assert
Assert.AreEqual("Register", result.ViewName);
RegisterViewModel model = new RegisterViewModel();
model.UserType = 2;
Assert.AreEqual(model.UserType, ((RegisterViewModel)result.ViewData.Model).UserType);
以上代码抛出错误说
其他信息:Assert.AreEqual失败。预期:。 实际:<>
我理解预期的类型没有返回。但是不知道为控制器动作方法编写测试用例的正确方法是什么。
答案 0 :(得分:1)
在您的帐户控制器 - 注册方法 - 当您编写返回语句时 - 类似这样 -
return View(model);
尝试提及视图的名称 -
return View("Register", model);
您的单元测试代码应该是这样的 -
public void DisplayStudent()
{
HomeController obj = new HomeController();
ViewResult result = obj.Index() as ViewResult;
Assert.AreEqual("Index", result.ViewName);
Student stud = (Student)result.ViewData.Model;
Assert.AreEqual("Sachin", stud.StudentName);
}
尝试相应地进行更改。
如果这有用,请不要忘记将其标记为已回答。 :)