Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在nUnit中对asp.net mvc应用程序的视图和授权属性进行单元测试?_C#_Asp.net Mvc_Unit Testing_Nunit - Fatal编程技术网

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

C# 如何在nUnit中对asp.net mvc应用程序的视图和授权属性进行单元测试?,c#,asp.net-mvc,unit-testing,nunit,C#,Asp.net Mvc,Unit Testing,Nunit,我现在正准备开始为我的MVC应用程序编写单元测试。我已经知道了如何对控制器进行单元测试,并且可以毫无问题地对我的底层业务库进行单元测试。不过,我有几个问题要解决: 如何对我的视图进行单元测试?也就是说,在控制器返回正确的视图之后(我已经对其进行了单元测试,并进行了单元测试以检查它是否传递了正确的数据)。是否有一种方法可以单元测试视图是否在nUnit的正确字段中显示正确的数据,或者为此我是否需要其他工具 如何对安全性进行单元测试?我正在使用一个自定义的成员资格提供程序和角色提供程序,我想它们本身

我现在正准备开始为我的MVC应用程序编写单元测试。我已经知道了如何对控制器进行单元测试,并且可以毫无问题地对我的底层业务库进行单元测试。不过,我有几个问题要解决:

  • 如何对我的视图进行单元测试?也就是说,在控制器返回正确的视图之后(我已经对其进行了单元测试,并进行了单元测试以检查它是否传递了正确的数据)。是否有一种方法可以单元测试视图是否在nUnit的正确字段中显示正确的数据,或者为此我是否需要其他工具

  • 如何对安全性进行单元测试?我正在使用一个自定义的成员资格提供程序和角色提供程序,我想它们本身是可以像任何其他组件一样进行单元测试的——我只是更新提供程序并检查每个方法是否返回预期的输出。我想知道的是,我如何进行单元测试,以确保我的每个控制器方法都从我的提供程序接收到正确的安全信息[即,单元测试Authorize属性是否正常工作]


对于UI(控制器及以下)下方的集成测试,您可以使用类似,甚至

<>对于UI测试(你的视图),你应该考虑使用,和./P>
我知道这是很多信息,但当涉及到更健壮的测试解决方案时,它将非常适合您。

您可以使用商业工具或免费工具。两者都支持在过程中测试您的视图,但Ivonna允许您模拟其余视图,调整配置等,因此更多的是在单元测试方面。

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


免责声明:可能需要几次解析才能理解它-它写得不太清楚,提供的示例代码也不完全符合要求,但您应该能够从中收集到所需的信息。

对于控制器和其他方面,我倾向于使用nUnit——我已经熟悉库级别的单元测试,所以这不是问题。我承认我从未听说过斯利姆或讲故事的人,所以我会去看看他们。不过,我会查看Selenium的视图测试。Selenium RC看起来确实很有趣。我没有想到单元测试会在浏览器本身中完成。我最初的看法是,单元测试将在HTTP输出上的nUnit中运行。即使在单元测试中,您也希望清晰地分离关注点。我通常不让我的单元测试(Nunit、MsTest等)触及数据库或当前测试主题以外的任何内容。Fit、FitNesse、Slim和StoryTeller非常适合集成测试,但不应用于单元测试。测试UI应该是非常肤浅的,并且应该只测试UI是否做了它应该做的事情。在任何情况下都不应检查引擎盖下的内容(即数据库、控制器等)