- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Sitecore.FakeDB 为我的 Sitecore 编写单元测试。我想模拟 RenderingContext
,以设置当前项目的渲染参数或数据源。
但是,当调用 RenderingContext.Current
时,我的单元测试崩溃并出现以下错误:
Test method YourAssembly.YourClass.YourTest threw exception:
System.InvalidOperationException: Attempt to retrieve context object of type 'Sitecore.Mvc.Presentation.RenderingContext' from empty stack.
模拟 Sitecore.FakeDB 支持的 RenderingContext
吗?
如果不支持,我将使用 Marc Duiker's blog 将对 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");
}
关于unit-testing - 使用 Sitecore.FakeDB 模拟 RenderingContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32826406/
我从标准的 Sitecore.Kernel 和 Sitecore.Nexus 开始。 Sitecore 在这里给出了非常详细的错误信息,所以我也添加了 DependencyInjection。它带来了
我正在使用 Sitecore.FakeDB 为我的 Sitecore 编写单元测试。我想模拟 RenderingContext,以设置当前项目的渲染参数或数据源。 但是,当调用 RenderingCo
我目前正在对一些调用 sitecore 数据库的方法进行单元测试。该类具有 Sitecore 数据库的属性,并使用它来获取项目。我正在考虑使用 Sitecore FakeDb 来模拟这些项目。有没有一
我是一名 Sitecore 开发人员,我想在我的单元测试中使用 Sitecore.FakeDb。我有以下代码: [TestClass] public class UnitTest1 { [Te
我是一名优秀的程序员,十分优秀!