【发布时间】:2013-07-24 11:02:17
【问题描述】:
所以我正在使用 Umbraco 6.12 并且很难测试 RenderMvcController。
我已经在我的Global.ascx 中实现了IApplicationEventHandler,并且在运行应用程序时 Ninject 工作正常并且符合预期 - 一切都很好。
但是,对这些控制器进行单元测试是另一回事。我找到了这个,并添加了最新的回复:
http://issues.umbraco.org/issue/U4-1717
我现在在我的设置中有这个可爱的 hack:
Umbraco.Web.UmbracoContext.EnsureContext(new HttpContextWrapper(new HttpContext(new HttpRequest("", "http://www.myserver.com", ""), new HttpResponse(null))), ApplicationContext.Current);
绕过原来的UmbracoContext不能为null,但现在正在抛出:
Current 尚未在 Umbraco.Web.PublishedCache.PublishedCachesResolver 上初始化。您必须在尝试读取 Current 之前对其进行初始化。
发布的缓存解析器似乎也隐藏在内部和受保护的东西后面,我不能使用反射来破解,因为我无法初始化任何东西来传递给SetProperty 反射。
这真的很令人沮丧,我喜欢 v6,使用 uMapper 非常好。我可以随意将 repo、服务、命令或查询注入到控制器中,生活很美好——我只是无法覆盖控制器!
对此的任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: unit-testing umbraco