【问题标题】:Are there free mocking frameworks that can mock methods and classes that are non-virtual, static or sealed?是否有免费的模拟框架可以模拟非虚拟、静态或密封的方法和类?
【发布时间】:2010-10-08 17:22:06
【问题描述】:

我知道有 TypeMock 和 JustMock,但它们都是商业产品并且相当昂贵。 是否有免费或开源的 mocking 框架可以与这两者竞争?

我目前正在使用 Moq,但我想知道开源是否可以赶上? 也许 Moles 是答案(http://msdn.microsoft.com/en-us/library/ff798506.aspx),尽管它没有提供您期望的所有典型功能,或者也许有人已经在从事类似的工作@ 987654321@

【问题讨论】:

  • TypeMock 是邪恶的。它促进了不良做法,除非您手头有遗留系统或设计不佳的框架(例如 ASP.Net),否则我会保持清醒。请注意。
  • 我知道这一点,我非常喜欢 Moq,我只是在为我无法使用 Moq 的特定情况寻找额外的工具,因为我要么没有源代码,要么只是不允许重写它。

标签: .net tdd mocking moles


【解决方案1】:

AFAIK,MS Moles 可以满足您的所有需求。只是它对性能要求很高,而且它有一个很难学习的“API”(总而言之,它比商业同类产品贵得多!)。

Typemock、JustMock 和 Moles 等隔离框架与 Rhino、Moq 等免费模拟框架相比具有完全不同的技术背景。因此它们无法真正进行比较。如果您具备必要的软件设计技能(基本上是 S.O.L.I.D),您可以使用模拟框架对新项目进行 TDD。如果您必须为遗留代码编写测试,那么您可以使用隔离框架,而这些代码在编写时并未考虑到测试。

我认为不会有用于隔离框架的开源项目。把它做好在技术上要求很高,而且它不太可能赶上例如Typemock 在成本效益方面......(顺便说一句:Moles 不是操作系统,永远不会......)

托马斯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多