Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 何时在asp.net MVC应用程序中为路由创建单元测试_C#_Asp.net_Asp.net Mvc_Unit Testing - Fatal编程技术网

C# 何时在asp.net MVC应用程序中为路由创建单元测试

C# 何时在asp.net MVC应用程序中为路由创建单元测试,c#,asp.net,asp.net-mvc,unit-testing,C#,Asp.net,Asp.net Mvc,Unit Testing,如果我们不像restfull api那样使用我们的服务和模型,那么在asp.net mvc项目中为路由创建单元测试是有意义的吗? 我正在探索一个使用MvcRouteUnitTester()的项目,其代码如下: using MvcRouteUnitTester; [TestClass] public class RouteTests { [TestMethod] public void TestIncomingRoutes() { var tester =

如果我们不像restfull api那样使用我们的服务和模型,那么在asp.net mvc项目中为路由创建单元测试是有意义的吗? 我正在探索一个使用MvcRouteUnitTester()的项目,其代码如下:

using MvcRouteUnitTester;

[TestClass]
public class RouteTests
{
    [TestMethod]
    public void TestIncomingRoutes()
    {
        var tester = new RouteTester<MvcApplication>();

        tester.WithIncomingRequest("/Foo").ShouldMatchRoute("Foo", "Index");
    }
}
使用MvcRouteUnitTester;
[测试类]
公共类路由测试
{
[测试方法]
公共无效测试路径()
{
var tester=newroutetester();
带有输入请求(“/Foo”)的测试仪应匹配路由(“Foo”,“Index”);
}
}

如果我总是使用helperURL.Action来创建指向我的foo模型的链接,那么创建这个单元测试仍然有意义吗

一旦您不得不调试应用程序中的突然故障,因为某个路由出现在不打算处理它的控制器中,您就知道您确实想要测试路由。当路由测试开始失败时,捕捉无意中出现的错误要比从现场场景中调试情况容易得多,在现场场景中,您只知道“/whatever”不起作用(或产生奇怪的结果)。但是如果我总是使用方法Url.Action来构建HTML链接,管制员如何处理错误的路线?Action方法接收控制器名称和操作名称,并返回指向该控制器操作的HTML链接。测试路由,正如我下面展示的,它不仅仅是测试这个Url。操作方法?如果这种方法存在于某些API中,那么测试的责任可能是API维护人员,而不是我。如果你能保证没有人会手动构建url,那么可能。并不是每一个程序员都会效仿你的例子。而且,您提供URL并不意味着任何访问者都不会构建URL。因此,您至少应该测试错误、无效、不再使用或未经授权的请求URL是否位于正确的位置。