使用DocumentHelper对方法进行Kentico单元测试

时间:2017-04-28 02:42:08

标签: unit-testing static kentico

我有一个使用Kentico的DocumentHelper API的方法:

public static TreeNode GetDocument(string pageType, string aliasPath)
{
     var document = DocumentHelper.GetDocuments().Types(pageType).Path(aliasPath, PathTypeEnum.Single).FirstOrDefault();
     return document;
}

我想对此方法进行单元测试,但我不确定如何伪造DocumentHelper输出。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您有几种选择:

  • 围绕DocumentHelper创建一个非静态包装器。除传递参数外,它不应包含任何逻辑。使包装器实现一个接口,然后创建实现该接口的模拟器。

  • 如果您拥有Visual Studio的企业版,则可以利用"Microsoft Fakes (Unit Test Isolation)"并让它为您生成假装配。 Add fakes assembly

  • 使用delegates创建包装器。 (与第一种方法相比没有真正的优势。)