EpiServer CMS中最好的单元测试工具

时间:2018-08-14 02:44:44

标签: unit-testing content-management-system tdd episerver

我知道这是一个棘手的问题,可能有很多想法,但是我很难在网上找到EPIServer中单元测试所特有的示例。

我认为一个好的开始是,如果有人在测试环境中进行过单元测试和TDD的经验,那将使我们有所建树。我对CMS的块类型和页面类型等单元测试不熟悉。因此,我试图获得一些指导。

谢谢

1 个答案:

答案 0 :(得分:1)

一个典型的例子是您使用IContentLoader获取的内容。
假设您使用以下代码来获取主菜单项:

var items = _contentLoader.GetChildren<PageData>(ContentReference.StartPage)
            ... // filtering
            .ToList();

您显然需要过滤掉容器页面,受限页面,未发布页面,将VisibleInMenu设置为False的页面,等等。

要对此进行单元测试,您需要模拟IServiceLocatorIContentLoaderITemplateResolverIPublishedStateAssessor等。

https://github.com/DavidVujic/EPiServer-FakeMaker之外,我还没有找到Episerver的任何开源模拟/测试框架。

大多数正在对Episerver解决方案进行单元测试的公司已经开发了自己的框架,这些框架尚未公开。大卫的FakeMaker是一个不错的开始。