我on Rails的3.2和我使用的RSpec(2.11.1)。当我用“rake spec”运行我的测试套件时,我遇到了失败。当我用“rspec”运行它时,一切都会通过。我已经看到其他提到这个问题,但没有解释正在发生的事情和最佳实践是什么。我应该使用“耙规范”或“rspec的”(不能得到“回扣规范”工作)?
如果我做“rake spec”或“rake tmp:clear & & rake spec”我的测试失败。
如果我做“rspec”或“rspec spec”或“rake db:test:prepare & & rspec”我的测试通过。
我认为,唯一的区别是,耙做“分贝:测试:准备”,但如果我的RSpec运行前做手工,我的测试都通过了以至于不能将所有的故事。
做一点阅读后,我改变了我的Gemfile。之前,我已经按照“RSpec Book”(p328)的说法设置了它,它将rspec gem放在“group:development,:test”块中。阅读了一些其他的SO帖子后,我删除了“:开发”并做了一个捆绑。现在“rake spec”什么都不做。 “rspec”仍然像以前一样工作。
很困惑......
做了一些进一步的探测。根据rspec书(具有:development,:test)的Gemfile运行rspec使用'test'环境,而rake spec使用'development'环境。目前还不确定这是为什么,但将继续寻找... – starfry
“RAILS_ENV ='测试'耙规格”的作品。我本来期望测试,以默认的测试环境没有我具体... – starfry
我的答案被删除(@礼貌bhargav饶)作为复制http://stackoverflow.com/questions/15701298/rspec的-spec耙-SPEC-给-不同-结果/ 41877864#41877864 –