Rog*_*hip 2 unit-testing sitecore sitecore-mvc
我正在使用Sitecore.FakeDB为我的Sitecore编写单元测试.我想模拟RenderingContext,设置我当前项目的渲染参数或数据源.
但是,在调用时RenderingContext.Current,我的unittest崩溃时出现以下错误:
Test method YourAssembly.YourClass.YourTest threw exception:
System.InvalidOperationException: Attempt to retrieve context object of type 'Sitecore.Mvc.Presentation.RenderingContext' from empty stack.
Run Code Online (Sandbox Code Playgroud)
是否嘲笑RenderingContextSitecore.FakeDB支持?
如果不支持,我将使用Marc Duiker的博客从我的代码中抽象调用RenderingContext
如何使用RenderingContext.EnterContext.像这样的东西:
Item datasourceContextItem = db.GetItem("/sitecore/content/some/stuff");
using (RenderingContext.EnterContext(new Rendering(), datasourceContextItem))
{
IMyViewModelRepository repository = new MyViewModelRepository();
MyController controller = new MyController(repository);
ViewResult view = (ViewResult)controller.Index();
((MyViewModel)view.Model).MyHtmlStringProperty.ToString().Should().Be("some value");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2287 次 |
| 最近记录: |