Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Asp.net mvc 如何为mvc操作过滤器编写测试用例?_Asp.net Mvc_Mstest_Action Filter - Fatal编程技术网

Asp.net mvc 如何为mvc操作过滤器编写测试用例?

Asp.net mvc 如何为mvc操作过滤器编写测试用例?,asp.net-mvc,mstest,action-filter,Asp.net Mvc,Mstest,Action Filter,我有一个行动过滤器,我从下面的链接得到 有一种称为“requireAuthenticationAttribute”的东西 为此,我需要编写测试用例。 我该怎么做?从我读到的一些博客中可以看出,我们需要模仿httcontext。 我怎么能嘲笑这个?我需要做什么程序?有相关链接吗?不要使用Rob博客中的[RequireAuthentication]属性。这是为一个非常旧的MVC预发布版本设计的。改为使用“框内”属性 由于[Authorize]属性是由MVC团队编写的,因此不需要对其逻辑进行单元测试

我有一个行动过滤器,我从下面的链接得到

有一种称为“requireAuthenticationAttribute”的东西 为此,我需要编写测试用例。 我该怎么做?从我读到的一些博客中可以看出,我们需要模仿httcontext。
我怎么能嘲笑这个?我需要做什么程序?有相关链接吗?

不要使用Rob博客中的[RequireAuthentication]属性。这是为一个非常旧的MVC预发布版本设计的。改为使用“框内”属性

由于[Authorize]属性是由MVC团队编写的,因此不需要对其逻辑进行单元测试。但是,如果需要,可以验证它是否已应用于控制器或操作。只需获取您感兴趣的类型或MethodInfo,然后调用其GetCustomAttributes()方法来获取AuthorizeAttribute的实例。您可以检查这些实例以获得所需的值


如果需要,可以查看有关编写自己的过滤器的信息。此外,您可以查看,因此如果您最终编写了一个过滤器,您可以使用类似的方法来编写您自己类型的单元测试。

谢谢Levi,在单元测试链接中,我可以看到他们正在使用“Mock mockHttpContext=new Mock();”我从哪里可以获得该dll?这样做对吗?像requireAuthentication属性一样,我也有自己的自定义过滤器。。为了获得代码覆盖率,我还需要为过滤器编写测试用例。您可以在上获得更多信息。但你可以自由使用任何你觉得舒服的东西。