我目前正在研究我必须创建的新应用程序的单元测试.我已经很好地进行了基本测试(测试ActionResult类非常好).但我确实要确定的一点是,我的解决方案中存在一个视图.我不是100%肯定我的测试是正确的,所以如果有人有建议,请不要犹豫!
这是一个测试,我必须检查我的安全控制器上的登录方法是否正确:
[TestMethod] public void Login() { var authProvider = new Mock<IAuthenticationProvider>(); var controller = new SecurityController(authProvider.Object); var result = controller.Login() as ViewResult; Assert.IsNotNull(result,"ActionResult should be of type ViewResult."); Assert.AreEqual(result.ViewName,"login","Does not render login page."); }
我对测试的解释是:
>在控制器上调用“登录”方法
>确认它呈现视图(通过检查它是否返回ViewResult对象)
>确认它呈现正确的视图(通过检查视图名称)
我想要的是第三个断言,看看要呈现的视图是否确实存在.
我的一些次要问题是:
>我应该分开这个测试吗?
>我应该重命名它(比如,错误,LoginRendersCorrectView或其他东西)
谢谢!
注意:我明确地试图避免检查文件系统.我有点希望能够使用ViewEngine确认视图实际存在.