【发布时间】:2010-07-10 09:11:38
【问题描述】:
我使用 Cucumber 作为带有 rspec/mocha 模拟的 BDD 框架。理想情况下,我们不会在黄瓜规范中模拟/存根行为;但是这里的情况很特殊。在这里给您简要介绍一下问题;我有两个功能产品功能和购物车功能。
购物车功能目前正在模拟从 3 方系统获取的一些产品。并且在黄瓜运行购物车功能在产品功能之前运行。产品功能在某些场景下使用真实通话。理想情况下,我们希望一旦场景完成,像 Product.stub(:find) 这样的类级别存根会被清除;然而事实并非如此。类级别的存根会持续到下一个黄瓜场景运行并干扰调用。
我交替使用 mocha 和 rspec 来诱导存根;但无济于事;在任何一种情况下,存根都会保留并阻止我的产品功能在购物车功能之后运行。他们两个单独运行都很好。
有没有人遇到过类似的存根未在黄瓜中重置的问题?有没有办法,我可以恢复原来的类行为?
我们将不胜感激。
干杯
【问题讨论】:
标签: ruby-on-rails mocking rspec cucumber mocha.js