2010-08-02 32 views
13

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.

+1

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

+0

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

+0

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. –

Trả lời

4

Trong application.rb bạn sẽ cần một cái gì đó như sau:

config.generators do |g| 
    g.test_framework :rspec 
end 

Thông tin bổ sung có sẵn ở đây:

http://guides.rubyonrails.org/generators.html#customizing-your-workflow

+0

Khi thiết lập RSpec làm khung kiểm tra của tôi, tôi vẫn nhận được chế độ mô phỏng RSpec, không phải là chế nhạo mocha. –

Các vấn đề liên quan