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

...这当然会导致所有规格失败。

有谁知道我错过了什么?

提前致谢。

4

1 回答 1

4

在 application.rb 中,您需要以下内容:

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

此处提供更多信息:

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

于 2011-03-06T10:48:30.903 回答