【发布时间】:2010-08-02 20:19:13
【问题描述】:
我已经按照我在网上找到的所有步骤来配置带有 Rspec 2 和 Mocha 的 Rails 3。在我的 Gemfile 中:
group :development do
gem 'rails3-generators'
gem "rspec", '>= 2.0.0.beta.19'
gem "rspec-rails", '>= 2.0.0.beta.19'
end
group :test do
gem "faker"
gem "rspec", '>= 2.0.0.beta.19'
gem "rspec-rails", '>= 2.0.0.beta.19'
gem "machinist", '>= 2.0.0.beta1'
gem "mocha"
gem "capybara", ">= 0.3.9"
end
在 spec/spec_helper.rb 中:
RSpec.configure do |config|
config.mock_with :mocha
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
end
不过,当我使用 Rails 生成器时...
rails generate scaffold foo name:string
...我在 spec/controllers/foos_controller_spec.rb 中得到以下内容:
def mock_foo(stubs={})
@mock_foo ||= mock_model(Foo, stubs).as_null_object
end
...这当然会导致所有规范失败。
有人知道我错过了什么吗?
提前致谢。
【问题讨论】:
-
我现在正在研究同样的问题。你找到解决办法了吗?我决定将测试改为使用 mocha,然后将其变成生成器。
-
这里只是一个注释.. 您可以在 Gemfile 中使用 rspec、rspec-rails 和 capybara,而无需现在指定版本。它们现在与 Rails 3 兼容。
-
我遇到了同样的问题。我很想修改现有的生成器,但我不想复制其他人已经做过的事情。
标签: ruby ruby-on-rails-3 rspec ruby-mocha