4

「MVC Contrib を使用して ASP.NET MVC ルートをテストする」で説明されているように、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 コードに何らかの問題があるはずです。

ブログ投稿から:

また、ASP.NET MVC RouteCollection オブジェクトでルートを設定することも前提としています。

私がそうしていることをどのように確認できますか?Global.asax コード ビハインドの MvcApplication.RegisterRoutes メソッド内で routes.MapRoute を使用しています。これを適切に設定するために他に何かすることはありますか?

編集:おそらく、私は単体テストが初めてであることを言及する必要があります。私はあまりにも長い間それを学ぶことを先延ばしにしてきました.

4

1 に答える 1

4

試す:

MvcApplication.RegisterRoutes(RouteTable.Routes);

それ以外の:

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

RouteTestingExtensions の 43 行目を参照してください。

于 2009-07-21T20:47:06.820 に答える