gpt4 book ai didi

asp.net-mvc - 使用 MvcContrib.TestHelper 的 ShouldMapTo() 通用扩展方法需要帮助解决错误

转载 作者:行者123 更新时间:2023-12-03 18:33:06 26 4
gpt4 key购买 nike

我正在尝试使用 MvcContrib.TestHelper ShouldMapTo <TController> 对我的路由进行单元测试() 扩展方法,但我的测试失败并显示以下错误消息:

failed: Method MvcContrib.TestHelper.RouteTestingExtensions.ShouldMapTo:
type argument 'ReviewController' violates the constraint of type parameter
'TController'.

但 ReviewController 确实满足约束。它继承自一个名为 SmartController 的类,该类继承自 System.Web.Mvc.Controller。因此,我不知道如何解决此错误。

这是我的单元测试:
[Test]
public void Should_map_review_controller_routes_correctly()
{
MvcApplication.RegisterRoutes(RouteTable.Routes);
"~/reviews"
.ShouldMapTo<ReviewController>(c => c.Index());
}

这是 ReviewController 类的声明:
public class ReviewController : SmartController<Review, ReviewForm>
{
...
}

以及 SmartController 类的声明:
public abstract class SmartController<TModel, TForm> : Controller
where TModel : new()
{
...
}

只是为了咧嘴笑,我尝试从继承层次结构中删除 SmartController,以便 ReviewController 直接从 Controller 继承,但仍然抛出错误。

有谁知道我做错了什么?

最佳答案

我将此方法与 MVC 2 和使用 MVC 2 构建的 MvcContrib 一起使用,一切正常。我发现了这个问题:

http://groups.google.com/group/mvccontrib-discuss/browse_thread/thread/356203db654fa4bd?pli=1

您是否在 MVC 2 中使用旧的 MvcContrib 程序集(使用 MVC1 构建)?如果是,您应该下载 MvcContrib 二进制文件或 MVC 2 的源代码。

关于asp.net-mvc - 使用 MvcContrib.TestHelper 的 ShouldMapTo() 通用扩展方法需要帮助解决错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2389833/

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