一个ActionResult我知道这已经被问过,但我不能找到这么...测试与表单视图模型
我说有一个名为HomeController的控制器,它具有被称为登录的操作。
我的登录操作需要一个名为LoginFormViewModel的模型。
在我的行动里面,我可以编写像这样的代码;
public ActionResult Login(LoginFormViewModel loginFVM)
{
if (ModelState.IsValid)
{
return RedirectToAction("provider");
}
return View(loginFVM);
}
我想要的是写一个测试,这将让我在表单视图模型传递,并检测它是否有效或无效,因而断言结果。
编辑
我想我可能已经困惑的问题了一下。
在我的模型上,我有一些验证,检查是否填写了用户名,密码是否符合我们的要求。
所以我测试的是模型验证是否正常,我想我会通过执行View来做到这一点,因为这是现实生活中会发生的事情。
所以基本上我要创建一个模型,该模型应该会失败ModelState.IsValid测试,我希望能够在我的测试中切入。
如果有更好的方法,那么我很乐意拥有它。
问题究竟是什么?控制器动作就像其他任何方法一样,所以在一次测试中你将传递Login()一个有效的模型,而在另一次测试中你会传递Login()和无效模型。你在问如何编写测试,如何构建模型或其他东西? – 2010-02-16 03:00:10
我在问如何在创建新项目时创建的测试项目中编写测试。 – griegs 2010-02-16 03:01:12
@Jacob是的,我已经做出了改变,但这不是问题的关键。 – griegs 2010-02-16 03:31:38