gpt4 book ai didi

asp.net-mvc - 使用 MVC Contrib 测试 ASP.NET MVC 路由

转载 作者:行者123 更新时间:2023-12-02 21:57:00 25 4
gpt4 key购买 nike

我正在尝试使用 MVC Contrib 设置路线映射测试如 Test ASP.NET MVC routes using MVC Contrib 中所述

测试编译并执行,但它们总是失败,并显示消息“URL 与任何路由都不匹配。”

我设置了另一个测试来尝试了解问题所在:

    Public Sub TestIndexRoute()
Dim routes = New RouteCollection
myMvcApp.MvcApplication.RegisterRoutes(routes)
Assert.That(routes.Count > 0)
Assert.NotNull(routes("Default"), "Default route not found.")
Dim routeData = RouteTestingExtensions.Route("~/Author")
Assert.NotNull(routeData, "routeData is Nothing.")
Assert.That(routeData.Values("controller") = "Author")
End Sub

该测试在 Assert.NotNull(routeData, "routeData is Nothing.") 上失败,因此我知道尝试访问我的应用程序的 RouteCollection 的 MVCContrib 代码一定存在一些问题。

摘自博客文章:

It also assumes you set your routes in the ASP.NET MVC RouteCollection object.

我如何确认我正在这样做?我在 Global.asax 代码后面的 MvcApplication.RegisterRoutes 方法中使用routes.MapRoute。还需要做其他事情才能正确设置吗?

编辑:我可能应该提到我是单元测试的新手。我已经推迟学习它太久了,这似乎是一个很好的起点。

最佳答案

尝试:

MvcApplication.RegisterRoutes(RouteTable.Routes);

而不是:

Dim routes = New RouteCollection
myMvcApp.MvcApplication.RegisterRoutes(routes)

参见RouteTestingExtensions, line 43

关于asp.net-mvc - 使用 MVC Contrib 测试 ASP.NET MVC 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1160841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com