如何在nUnit中对我的asp.net mvc应用程序的视图和授权属性进行单元测试?

时间:2009-11-07 14:58:05

标签: c# asp.net-mvc unit-testing nunit

我正准备开始为我的MVC应用程序编写单元测试。我已经想出了如何对控制器进行单元测试,我可以毫无问题地对我的底层业务库进行单元测试。我现在已经解开了几件物品:

  • 如何对观看单元进行单元测试?也就是说,在控制器返回正确的视图(我已对其进行单元测试,以及单元测试以检查它是否传递了正确的数据)之后。有没有办法对视图在nUnit中的正确字段中显示正确的数据进行单元测试,还是需要一个不同的工具用于此目的?

  • 如何对安全性进行单元测试?我正在使用自定义成员资格提供程序和角色提供程序,它本身就像任何其他组件一样可以进行单元测试 - 我只是新建了提供程序并检查每个方法是否返回预期输出。我很好奇的是如何对我的每个控制器方法从我的提供商那里接收正确的安全信息进行单元测试[即单元测试Authorize属性是否正常运行]?

3 个答案:

答案 0 :(得分:3)

这是关于单元测试自定义授权组件的博客文章。它不涉及RoleProviders和MembershipProviders,但您应该能够有效地使用相同的方法来测试任意数量的过滤器。

http://darioquintana.com.ar/blogging/2009/05/23/aspnet-mvc-testing-a-custom-authorize-filters/

免责声明:可能需要一些解析来理解它 - 它写得不是很清楚,所提供的示例代码也没有完全切入追逐,但你应该能够收集你需要的东西。 / p>

答案 1 :(得分:1)

您可以使用商业工具Ivonna或免费版MvcIntegrationTestFramework。两者都支持在进程中测试你的视图,但是我会让你模拟其余部分,调整你的配置等等,所以在单元测试方面更多。

答案 2 :(得分:0)

对于UI(控制器和向下)下的集成测试,您可以使用Fit, FitNesseSlim甚至StoryTeller之类的内容。

对于UI测试(您的观看次数),您应该考虑使用SeleniumSelenium RC

我意识到这是一个很多信息,但是当它涉及更强大的测试解决方案时它会很适合你。