【问题标题】:Rails Fixtures vs. MocksRails Fixtures vs. Mocks
【发布时间】:2010-05-26 22:09:52
【问题描述】:

我正在开发一个 Rails 应用程序,我刚刚和我的同事谈论我们在测试中混合了固定装置和模拟,我们正在使用 cucumber 和 Rspec 进行测试。问题是:什么时候应该使用每一个?

【问题讨论】:

标签: ruby-on-rails fixtures mocking


【解决方案1】:

当使用真实对象不切实际/没有必要时,我会使用模拟对象。例如,您需要通过邮政编码调用一些远程 API,例如地址查找器。您可能想要模拟该对象,以便每次运行测试时都不会实际调用它。还有其他原因,例如提高速度,在您需要准确响应或可能尚不存在的地方要求更改数据。它允许您单独测试事物,因为您可以确定当您在这个模拟对象上调用这些方法时,您将得到它,并且您实际上不需要运行代码,因为对于这个测试它并不重要。

如果您使用固定装置,您将拥有一个真实的对象,并且将调用方法等并运行它们的代码,当然除非您将方法存根,这是另一个问题。

希望能有所帮助。关于模拟和存根有一个很好的窥视代码 (http://peepcode.com/products/rspec-mocks-and-models),不妨看看。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 2011-03-13
    • 2010-12-30
    • 1970-01-01
    • 2013-08-20
    相关资源
    最近更新 更多