【问题标题】:Mocks with Visual Studio 2010 Ultimate使用 Visual Studio 2010 Ultimate 模拟
【发布时间】:2012-04-20 14:40:55
【问题描述】:

我应该继续在 Visual Studio 2010 Ultimate 中使用 Mocks 吗?我的意思是,我收集的所有关于 mock 的信息都有些陈旧,大概是 2 或 3 年前,更具体地说,我正在收集关于下一个的信息框架Rhino MocksMoq

但是,我不知道我是在寻找旧的或不推荐使用的东西,还是现在没有使用它......我正在制作一个新项目,我想使用最后的框架来实现 TDD最好的方法,而且由于我们最近获得了 VS2010 的 Ultimate 版本,它有很多关于测试的信息和实用程序,我想按照他们应该做的方式做事情。

哦,我差点忘了,我必须用VB,而且关于这些框架的大部分信息都是用C#写的,我不知道这是否相关......

感谢您的建议!

编辑

起订量和AutoFixture 一起完成了这项工作

【问题讨论】:

  • 使用模拟库和您喜欢的 IDE 版本之间没有关联。
  • 是的,但我真正想知道的是,使用模拟仍然是一个好习惯,或者是测试代码的新/更好的方法,我问的主要是因为所有信息我发现它有点旧......
  • 起订量不是那么旧,目前是维护的。 Rhino 可能处于结束阶段,但许多人仍然使用它 AFAIK。如果您需要模拟,您会在编写测试时发现。

标签: c# unit-testing tdd moq rhino-mocks


【解决方案1】:

Moq 是我选择的模拟框架,但这只是个人喜好。示例通常用 C# 编写并不重要,前提是您可以阅读 C#,因为您可以使用所有相同的方法,但语法略有不同。

Moq 或 RhinoMocks 都不会出错。

【讨论】:

    【解决方案2】:

    Rhino 和 Moq 都能满足您的需求。如果钱不是问题,我也建议Typemock

    【讨论】:

      【解决方案3】:

      Rhino、Moq 和(我最喜欢的)FakeItEasy 都是不错的模拟/伪造框架。

      您使用哪种语言进行测试(VB 或 C#)无关紧要,但为了安全起见,请检查所有这些框架的文档。我知道 FakeItEasy 支持 VB.NET。您还应该阅读 Roy Osherove 关于 .NET 中的单元测试的书,强烈推荐。

      【讨论】:

        【解决方案4】:

        我倾向于查看托管源代码的网站上的活动,并尝试确定项目是否正在积极维护。如果开发人员的速度很好,那么这通常表明项目得到了很好的支持。这里提到的所有模拟框架都是相当不错的选择,我个人最喜欢的是 Moq,我喜欢将它与 MSpec (Machine.Specifications) 一起使用,但当然每个开发人员或团队都需要自己做出这些选择。

        如果您还没有,请获取 Visual Studio 的 NuGet plugin 并使用它来安装您的所有框架。如果您正在使用 CI 构建并且不想将这些项目签入您的版本控制,则可以使用 NuGetPowerTools 包的 NuGet 的“no-commit workflow”。

        关于 C# 中的示例,您可以使用 Telerik Code Converter 轻松将它们翻译成 VB。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-20
          • 1970-01-01
          • 1970-01-01
          • 2011-02-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多