【问题标题】:Unit Testing and SharePoint Development单元测试和 SharePoint 开发
【发布时间】:2009-10-12 08:33:38
【问题描述】:

我有兴趣为我正在做的 SharePoint 开发工作编写单元测试。任何人都可以建议在 MOSS 中实施单元测试的实用方法吗?

请注意,任何第三方工具都必须是免费的(但不一定是开源的);我工作的公司不会支付额外的工具费用。特别是,SharePoint 的 Typemock 隔离器的任何替代品将不胜感激。

谢谢,MagicAndi。

【问题讨论】:

    标签: .net asp.net sharepoint unit-testing moss


    【解决方案1】:

    一个有争议的替代方案 - 不要使用模拟!

    改为进行集成测试,因为一旦您使用 SharePoint OM,这就是您正在做的事情。

    将尽可能多的逻辑放在可以从请求上下文外部运行的库程序集中(重载构造函数以传入 HttpContext 或 SPWeb)。

    设置服务器/站点(最好是虚拟机,以便您可以轻松回滚并创建新实例)仅用于单元测试并针对此运行。 VMWare Server 是免费的)

    如果您运行持续构建,您应该能够将其设置为自动运行并报告结果。或者,使用开源 nUnit 或您选择的工具在 PostBuild 步骤中复制新的 .dll 后立即运行测试的一些批处理文件魔法。

    缺点

    • 您需要进行一些设置工作 你的测试数据(虽然它是 不仅仅是得到嘲笑 工作?)

    • 并非所有东西都可以这样测试

    • 可能需要更长的时间才能运行,但如果作为连续构建的一部分运行会出现问题吗?

    • 团队需要更多的纪律以避免踩到其他人的脚趾。

    优势

    • 您针对真正的 SharePoint OM 进行的测试包含所有令人费解的不一致和特殊情况(如果您不友善,您可能会称它们为错误;)

    • 谁知道当新的服务包/累积更新出现时,OM 行为的哪些部分会发生微妙的变化,这应该有助于捕捉任何重大变化。

    • 当 SharePoint 2010 出现时,您将能够针对 2007 和 2010 运行测试,看看有什么变化,确保您的库适用于这两个版本(如果适合您的项目)

    所有项目的权衡取舍都不同,但对于我的项目,我更喜欢知道我正在针对真实事物进行测试的安全性 - 如果你愿意,可以称我为老式!

    【讨论】:

    【解决方案2】:

    据我所知,除了您提到的用于 SharePoint 的 Typemock 隔离器之外,没有其他的了。单元测试 SHarePoint 是出了名的困难。

    【讨论】:

      【解决方案3】:

      Andrew Woodward 是 TDD 和 SharePoint 的忠实粉丝 - 在此处查看他的网站: http://www.21apps.com/agile/unit-testing-sharepoint-getting-into-the-object-model/

      【讨论】:

      • Phill,我之前看到过这个链接,但因为它很有用,+1
      【解决方案4】:

      我在 SharePoint 单元测试中记录了 web castSharePointDevWiki.com 也有报道。

      【讨论】:

        【解决方案5】:

        看来 Telerik 的 JustMock 也可以使用。它还可以模拟密封类、静态等。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-01
          • 1970-01-01
          • 2013-08-24
          • 1970-01-01
          • 2011-12-05
          相关资源
          最近更新 更多