甚至可能吗?
到目前为止,我发现我们可以购买TypeMock来模拟SharePoint对象,然后使用任何免费的Mocking框架(Moq?)来完成剩下的工作。
您怎么看?
如果没有TypeMock,它就无法在SharePoint中进行单元测试。
要正确测试我们的事件,我们需要为事件提供一个SPItemEventProperties。该类是密封的,并且有一个需要SPSite的内部构造函数。
如果我使用SPSite,我可以实例化该类并提供适当的值来测试我的事件。但是,我想删除该依赖项和TypeMock接缝是唯一能够做到这一点。
周围有什么办法吗?
答案 0 :(得分:3)
我还没有使用它,但我很想尝试这个产品:TypeMock for SharePoint
上的视频介绍以下是trickiness with unit testing SharePoint
的一个很好的概述JT
答案 1 :(得分:1)
没有非常好的方法。您可以尝试将实际使用的SPItemEventProperties部分拆分为单独的参数,这样您的事件处理程序将获取SPItemEventProperties,并只调用实际的事件处理程序,并将项目和Web传递给它。此时,只需对实际事件处理程序进行单元测试(为特定参数传递适当的模拟对象)。
答案 2 :(得分:0)
Currenlty typemock Isolator是唯一可伪造或mock SharePoint的框架。这是因为它可以创建具有私有构造函数或密封的模拟对象,就像大多数SharePoint对象一样。