我可以对进行 Sitecore 上下文调用的方法进行单元测试吗?

Dum*_*ner 5 nunit unit-testing mstest sitecore sitecore6

我正在开发一个基于 Sitecore CMS 构建的 Web 应用程序。我想知道我们是否可以对例如从 Sitecore 获取一些数据进行一些处理并输出结果的方法进行单元测试。我想通过单元测试来测试方法内的所有逻辑。

在广泛而深入地搜索互联网后,我非常困惑。有人说这种测试实际上是集成测试而不是单元测试,我应该只测试没有 Sitecore 调用的代码,其他人说这是不可能的,因为会丢失 Sitecore 上下文。

我想向经验丰富的程序员同胞寻求帮助:我可以对包含 Sitecore 调用的方法进行单元测试吗?如果是,怎么办?如果否,为什么?有什么解决方法吗?

该项目还处于起步阶段,因此如果解决方案与所选的单元测试框架相关,那么在 MSTest 或 Nunit 等单元测试框架之间进行选择是没有问题的。

pbe*_*ing 1

几年来,我们已经使用放置在 WebForm 上的自定义 WebControl 进行集成测试,它包装了 NUnit 测试套件运行器功能,就像 NUnit GUI 一样。它显示了一个漂亮的已执行测试网格,其中包含用于执行特定测试的固定装置和类别的链接。它的创建与此处描述的非常相似http://adeneys.wordpress.com/2010/04/13/new-technique-for-unit-testing-renderings-in-sitecore/(自定义测试运行程序部分)。我们的实现还可以返回原始 NUnit xml 以供构建服务器等进一步处理。

我不久前尝试过 MSTest,当指定它应该启动 WebDev / IIS 站点进行测试时它也可以工作。它可以工作,但与上述解决方案相比非常慢。

测试愉快!