Eri*_*kel 7 asp.net-mvc unit-testing
我目前正在研究我必须创建的新应用程序的单元测试.我已经完成了基本的测试(测试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.");
}
Run Code Online (Sandbox Code Playgroud)
我对测试的解释是:
我想要的是第三个断言,看看要呈现的视图是否实际存在.
我的一些次要问题是:
谢谢!
注意:我明确地试图避免检查文件系统.我有点希望能够使用ViewEngine确认视图实际存在.
小智 9
不,我不认为你应该分开测试,只要它主要是第三个断言而不是更多的代码.
是的,我认为更具描述性的名称会有所帮助.
既然您已经验证它已经具有正确的视图名称,那么不会简单地成功呈现视图验证它的存在吗?
我认为你很棒的是你正在进行完整的测试覆盖,但是如果你能够继续进行验证执行特定登录功能的单元的部分,我觉得可能会更有效地利用你的时间(例如验证密码哈希或其他)正常工作.
| 归档时间: |
|
| 查看次数: |
5254 次 |
| 最近记录: |