2008-12-11 94 views
2

它甚至有可能吗?单元测试SharePoint中的事件处理程序?

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

您认为如何?

它接缝,没有TypeMock,它是不可能在SharePoint内进行单元测试。

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

如果我使用SPSite,我可以实例化类并给出正确的值来测试我的事件。不过,我想删除依赖关系和TypeMock接缝,这是唯一能够做到的。

任何方式吗?

回答

1

没有真正好的做法。您可以尝试将实际使用的SPItemEventProperties的各个部分拆分为单独的参数,以便您的事件处理程序接受SPItemEventProperties,并只调用实际的事件处理程序,并将其传递给项目和Web。此时,只需单元测试实际的事件处理程序(为特定参数传递适当的模拟对象)。

0

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

相关问题