4

我想知道是否有任何现有的解决方案单元测试Windows工作流程 在SharePoint上下文中运行的基础工作流程单元测试SharePoint工作流程

不幸的是,SharePoint库没有考虑到测试或模拟的可能性。
此类工作流通常紧密绑定到需要安装并运行SharePoint实例的SharePoint类,这对于测试来说绝对无效。

以下是在尝试单元测试现有的工作流程我面临的挑战的清单:

  • 工作流程使静态的SharePoint对象的调用;
  • 某些EventArgs嘲笑所需的类在SharePoint程序集内部;
  • 工作流程可能会使用特殊的SharePoint Workflow Activities,然后调用SharePoint;
  • 没有方便的API在SharePoint上下文中启动工作流并监视其状态。

我解决了这些问题,我必须使用Microsoft Moles来测试某个工作流程,并且可能有一天会将我的解决方案作为开源发布。
同时,我想知道您是否有经过单元测试的SharePoint工作流程。如果是这样,我想听听你对这些(也可能是其他)问题的解决方案。我也想知道,如果我的图书馆,如果我发布它,将会对你感兴趣。

谢谢。

回答

2

单元测试工作流程?一般来说,单元测试Sharepoint是相当困难的。

我用了两个框架一起与SharePoint:

这些框架都没有能够测试微软的Sharepoint活动或特别,工作流与SharePoint设计制作因为那些密封的,你应该认为他们“工作”反正 - 微软制造他们,他们是完美的! :-)

由于在我眼中,由于Sharepoint性质的原因,没有多少人试图对Sharepoint进行单元测试,所以您的库当然是非常有趣的:您使用大量内置功能并只需定制并且可能添加到该功能 - 基本上你只想测试/单元测试你自己的代码。

对不起,我不能给你关于我面临的问题的具体情况 - Typemock肯定是更强大的使用,因为它是一个很老的和成熟的Pex &鼹鼠很有趣,虽然(我发现Sharepoint相当不错的教程: Unit Testing SharePoint Foundation with Microsoft Pex and Mole

+0

对于SharePoint活动,我用自己的代码替换了'ISharePointService'和'ITaskService'实现,并在代码中注册它们。 – 2011-02-23 18:18:41

+0

不错,但是太复杂了;-)有很多东西你必须在Sharepoint模拟... – 2011-02-23 18:22:19