gpt4 book ai didi

c# - 单元测试asp.net路由映射扩展方法

转载 作者:行者123 更新时间:2023-11-30 17:39:39 25 4
gpt4 key购买 nike

我有一个路由扩展类。我想测试 routecollection 的更新列表。这是摘录:

public static void MapMyRoutes(this RouteCollection routes)
{
//do some stuff
routes.MapHttpRoute(null, controllerPath.Path, new { @namespace = controllerPath.Namespace, controller = controllerPath.ControllerName, id = UrlParameter.Optional });
}

我想对这个扩展进行单元测试,但不知道如何从路由集合中提取映射的 url:

这是一个测试:

[TestMethod]
public void TestMapMyRoutesMapsCorrectly()
{
var routes = new RouteCollection();
routes.MapMyRoutes();

foreach (var route in routes)
{
Assert.AreEqual(route.??, "v1/api/myRoute");
}
}

最佳答案

RoutesCollection被定义为 Collection<RouteBase>所以将每个项目作为路线转换,即:

foreach (var route in routes.Cast<Route>())
{
// Url may not in fact be the correct property …
Assert.AreEqual(route.Url, "v1/api/myRoute");
}

关于c# - 单元测试asp.net路由映射扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35227122/

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