0

我从 ruby​​ on rails 来到 c#,在那里我使用 Rspec 和 Mocha 进行了 TDD。我正在寻找进入一个模拟框架,一个较旧的 stackoverflow 帖子向我指出了 MOQ 和 rhino 模拟的方向。我犹豫要不要承诺,我正在寻找一些建议或澄清,或者只是一个鼓舞人心的谈话......

以下是我的担忧:

  • Rhino mocks 似乎有点过时了。许多示例甚至没有使用泛型,因为在创建框架时它们似乎不可用
  • Moq 似乎不如 Rhino 模拟强大,并且您似乎需要调整您的类才能模拟它们(它们必须实现接口或所有方法都必须是虚拟的)

我在这里离基地很远吗?我错过了什么吗?是否有一些我应该知道的很酷的新框架,还是我只需要敞开心扉接受静态语言的模拟是不一样的?

(我知道过去有人问过这样的问题,但它们对我来说似乎有点过时了,我对最新的时髦新事物很感兴趣)

4

2 回答 2

3

我个人投票支持 moq,但 mocking 框架的选择真的取决于你。我还认为可测试性足以让您以不同的方式编写代码。一般来说,接口很难过度使用,从长远来看,它们可能会使您的代码更易于维护。

于 2011-09-23T06:58:51.367 回答
3

测试驱动开发不会产生让您以不同方式编写代码的副作用。它实际上是为了让你以不同的方式编写代码。我们认为您在测试代码时会更好地编写代码。您更有可能将代码隐藏在接口后面,这是一件好事。希望它能让你以不同的方式做很多事情!

到犀牛/起订量...

Rhino Mocks 自从首次编写以来已经进行了一些大修,您不再需要使用记录/重播语法,您可以使用 Arrange-Act-Assert 语法并且没有可以看到的魔术字符串。

Rhino Mocks - Arrange Act 断言语法

在 Moq 中,您可以模拟接口和类。语法更简单,更具表现力。

好消息是,我认为您正在寻找最好的两个并试图在它们之间进行选择。我认为您不会后悔选择其中任何一个。

于 2011-09-23T07:06:46.717 回答