【问题标题】:Unit Test the Routes对路线进行单元测试
【发布时间】:2010-09-17 01:16:53
【问题描述】:

假设我已经定义了一条路线:

        routes.Add(new Route("Users/{id}", new MvcRouteHandler())
            {
                Defaults = new RouteValueDictionary(new { controller ="UserInfo", action = "UserInformation",
                id = ""}),
            });

那么,我将如何创建一个单元测试以确保当 URL 中出现 Users/123 时,肯定会调用操作方法 UserInformation,并以 123 作为参数?

我问这个的原因是因为我在指定 RouteValueDictionary 时可能输入了错误的名称,我可能在 UserInformation 的步伐中输入了错误的 UserInformationss。有没有办法防止这种情况发生?

【问题讨论】:

    标签: asp.net-mvc unit-testing


    【解决方案1】:

    测试是否调用了操作 UserInformation 并不重要。唯一重要的是确保在指定 URL 时,“UserInformation”在带有键“action”的路由值字典中,并且有一个具有适当控制器名称的“控制器”值。

    如果是这样,MVC 框架保证将调用 UserInformation 方法。您无需通过单元测试来测试我们的代码,只需您自己的即可。如果我们的代码不正确,请告诉我们,我们将为我们的代码添加单元测试。 :)

    【讨论】:

    • Haacked,我正在尝试在这里测试我的代码。问题是,当我在路线中指定名称时,我可能会打错字。所以这里需要一个单元测试。
    猜你喜欢
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 2012-01-08
    • 2012-05-14
    相关资源
    最近更新 更多