【问题标题】:Preferred unit testing isolation framework for .net.net 的首选单元测试隔离框架
【发布时间】:2023-03-25 04:33:01
【问题描述】:

我使用RhinoMocks 产品已经有一段时间了,并且对该产品非常满意 - 真的没有理由去别处寻找。最近TypeMock 的好人要求我试一试他们的产品,我想知道其他开发人员对 Typemock Isolator 的看法。您会建议其他任何隔离/模拟框架吗?为什么?

【问题讨论】:

    标签: .net unit-testing mocking isolation-frameworks


    【解决方案1】:

    我已经使用 TypeMock 一年多了,如果没有它,我将无法开展项目。我听到很多人说 TypeMock 太强大了,那如果是呢?拥有所有这些能力并不会使我的代码设计不佳。

    我已经搞砸了其他模拟框架,但我喜欢 TypeMock 的地方在于它几乎可以模拟任何东西,而我不必到处创建接口,因为一些模拟框架只能模拟一个接口,而不是实际的对象。我目前在 SharePoint 上开发代码的工作突出显示了这一点。如果没有 TypeMock,我就无法编写好的单元测试。我看不到允许我模拟 SharePoint 对象模型代码的 Moq 或 RhinoMocks。如果我错了,请纠正我。

    TypeMock 的另一个优点是公司的支持。他们的开发人员总是活跃在公司的论坛上,所以如果您确实有问题,他们可以快速帮助您。这种帮助可以是回答您可能已发布的论坛问题,也可以通过电子邮件与您联系(如果您的问题比论坛答案更重要)。

    TypeMock 的一个症结在于成本,它不是一个便宜的产品。但是,它为我节省的测试时间(以及我编写测试的灵活性)使其成为值得购买的产品。

    【讨论】:

    • 您自己可以使用 TypeMock 编写可测试的代码 - 但您的队友可能不会。这就是问题所在。
    【解决方案2】:

    就个人而言,我使用 RhinoMocks,我对这个模拟框架非常满意,特别是因为他们使用 lambda 语法实现了 AAA 模式。

    我从未使用过 Typemock,但我读到这个框架非常强大,几乎可以模拟所有内容。有些人认为这不是一件好事,因为它不会强迫开发人员设计他的类以实现可测试性。就个人而言,我认为 TypeMock 在您有遗留代码要测试并且您没有时间和资源来重构它时非常有用。

    其他框架:

    Moq

    NMock

    【讨论】:

      【解决方案3】:

      Moq 是我最近一直在使用的。值得一看;我特别喜欢 lambda 语法。我以非常简洁易读的方式取得了很多成就。

      Moq

      【讨论】:

      • 是的。我曾经使用 Rhino,然后在从 .NET 2.0 迁移到 3.5 时切换到 Moq。看起来 Rhino 3.5 版本也支持这个功能。
      猜你喜欢
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多