Tôi đã làm theo tất cả các bước mà tôi đã có thể tìm thấy trực tuyến để định cấu hình Rails 3 với Rspec 2 và Mocha. Trong Gemfile tôi:Bắt Rails 3 Máy phát điện với Rspec 2 và Mocha
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
Và trong 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
Tuy nhiên, khi tôi sử dụng máy phát điện Rails ...
rails generate scaffold foo name:string
... tôi nhận được sau trong spec/controllers/foos_controller_spec.rb:
def mock_foo(stubs={})
@mock_foo ||= mock_model(Foo, stubs).as_null_object
end
... tất nhiên tất cả các thông số kỹ thuật đều thất bại.
Có ai biết tôi đang thiếu gì không?
Xin cảm ơn trước.
tôi đang xem xét vấn đề này cùng bây giờ. Bạn đã tìm thấy một giải pháp cho nó? Tôi quyết định chỉ thay đổi các bài kiểm tra để sử dụng mocha và sau đó biến nó thành một máy phát điện. – stellard
Chỉ cần lưu ý ở đây .. bạn có thể sử dụng rspec, rspec-rails và capybara trong Gemfile của bạn mà không cần chỉ định phiên bản ngay bây giờ. Chúng tương thích với Rails 3 bây giờ. – johnmcaliley
Tôi đang gặp vấn đề tương tự. Tôi bị cám dỗ để sửa đổi các máy phát điện hiện tại nhưng tôi không muốn lặp lại một cái gì đó người khác đã làm. –