【发布时间】:2012-11-16 16:15:48
【问题描述】:
假设我有汽车和机械师课程。车有“跑”的方法。机械师出于某种原因需要汽车。然后我编写 RSpec 规范。在 mechanic 中,我定义了一个这样的假类:
class Car; end
然后存根 mechanic 使用的方法。如果我单独运行测试,一切正常。但是当我同时运行这两个测试时(rspec spec/directory/),我的 Mechanic 规格使用真正的 Car 类。
所以。我想这是因为 ruby 类是“开放的”,并且我已经为 Car 规格加载了一次该类。但是有没有更好的方法来做到这一点?这种情况的最佳做法是什么?这是否意味着我的代码需要一些改进,因为它可能是紧密耦合的?
我在 github 上做了一个快速演示:https://github.com/depy/RspecTest
【问题讨论】:
标签: ruby unit-testing testing rspec