Luk*_*ett 10 c# asp.net asp.net-mvc unit-testing
我花了几天时间试图模仿,存根并假冒我的方式进入可测试的应用程序.我通常不测试控制器操作,而是测试我所有的其他类和模式.
我点击的墙是新的属性路由功能.虽然我可以使用路由类来注册我的规则等.我在MapMvcAttributeRoutes调用时会收到此错误.
在应用程序的预启动初始化阶段期间无法调用此方法
这在这里讨论.
MapMvcAttributeRoutes:在应用程序的启动前初始化阶段,无法调用此方法
说实话,我无法理解答案.不是代码,而是碎片化为版本,链接到其他错误,GitHub等.
关于底线答案,我有点迷茫:
截至2014年10月23日.是否可以在测试条件下注册所有路由,我需要什么版本的MVC以及我要调用哪些类/方法?
目前,我的课程使用UrlHelper正在搞砸,因为缺少必要的路线.我正在注入子类以绕过这个问题,但我认为假冒运行时MVC环境并让我的应用程序在没有大量DI杂技的情况下运行是不合理的.
如果这些是框架本身中的一个简单帮助器,可以采用描述原始HTTP请求的JSON对象,并且控制器,HttpContext,ControllerContext等等都可以正确创建,就像它是一个真正的请求一样,这将是很好的. .
谢谢,
卢克
好问题,我认为答案是在框架的这一部分的设计中很少或根本没有考虑测试路由。可能有一些方法可以测试路由,但是当新版本的 MVC 发布时,它们将是间接的、未记录的并且容易中断。
我在这里有一篇关于我在该主题上的经验的博客文章。我还建议您在公共问题跟踪器中争取更好的 ASP vNext 可测试性。
| 归档时间: |
|
| 查看次数: |
1269 次 |
| 最近记录: |