单元测试SharePoint中的事件处理程序?

时间:2008-12-11 23:12:29

标签: sharepoint unit-testing sharepoint-2007 mocking

甚至可能吗?

到目前为止,我发现我们可以购买TypeMock来模拟SharePoint对象,然后使用任何免费的Mocking框架(Moq?)来完成剩下的工作。

您怎么看?

如果没有TypeMock,它就无法在SharePoint中进行单元测试。

要正确测试我们的事件,我们需要为事件提供一个SPItemEventProperties。该类是密封的,并且有一个需要SPSite的内部构造函数。

如果我使用SPSite,我可以实例化该类并提供适当的值来测试我的事件。但是,我想删除该依赖项和TypeMock接缝是唯一能够做到这一点。

周围有什么办法吗?

3 个答案:

答案 0 :(得分:3)

我还没有使用它,但我很想尝试这个产品:TypeMock for SharePoint

multimedia page (#5)

上的视频介绍

以下是trickiness with unit testing SharePoint

的一个很好的概述

JT

答案 1 :(得分:1)

没有非常好的方法。您可以尝试将实际使用的SPItemEventProperties部分拆分为单独的参数,这样您的事件处理程序将获取SPItemEventProperties,并只调用实际的事件处理程序,并将项目和Web传递给它。此时,只需对实际事件处理程序进行单元测试(为特定参数传递适当的模拟对象)。

答案 2 :(得分:0)

Currenlty typemock Isolator是唯一可伪造或mock SharePoint的框架。这是因为它可以创建具有私有构造函数或密封的模拟对象,就像大多数SharePoint对象一样。