Отчеты SimpleCov не генерируются в приложении Rails 3 после запуска тестов RSpec с помощью Spork

Я только что установил гем SimpleCov для создания отчетов о покрытии кода в моем приложении Rails 3.2.6, и он отлично работает с RSpec, но не со Spork. Я могу получить нужный правильный отчет, запустив rspec --no-drb spec/, но я также хотел бы получить их с помощью Spork, используя только rspec spec/.

Учитывая, что были люди, которые добились успеха с этим, вероятно, у меня есть ошибки в моей настройке. Я прочитал инструкции по установке , а также проблему GitHub , которая якобы содержит исправление для пользователей Spork, но все равно не повезло. Мне интересно, есть ли кто-нибудь, кто может предоставить полный пример своего рабочего файла spec/spec _helper.rb , который я мог бы использовать для справки, поскольку обширный поиск в Google нашел только фрагменты. По совету других сайтов я безуспешно пытался изменить config.cache_classesв config/environments/test.rb со значения по умолчанию trueна falseна !(ENV['DRB'] == 'true').

Для справки,вот как я настроен:

Gemfile

group :development, :test do
  #...
  gem 'rspec-rails', '2.10.1'
end

group :test do
  #...
  gem 'spork', '0.9.0'
  gem 'simplecov', '0.6.4', require: false
end

.spec

--colour
--drb

спецификация/спецификация _helper.rb(изменено в соответствии с проблемой GitHub)

require 'simplecov'
SimpleCov.start 'rails'

require 'rubygems'
require 'spork'

Spork.prefork do
  unless ENV['DRB']
    require 'simplecov'
    SimpleCov.start 'rails'
  end

  ENV["RAILS_ENV"] ||= 'test'
  require File.expand_path("../../config/environment", __FILE__)
  require 'rspec/rails'
  require 'rspec/autorun'

  Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

  RSpec.configure do |config|
    config.mock_with :rspec
    config.fixture_path = "#{::Rails.root}/spec/fixtures"
    config.use_transactional_fixtures = true
    config.infer_base_class_for_anonymous_controllers = false
  end
end

Spork.each_run do
  if ENV['DRB']
    require 'simplecov'
    SimpleCov.start 'rails'
  end
end

Я пытался закомментировать/изменить два верхних оператора SimpleCovэтого файла и операторы Simplecov внутри блоков Spork, но не могу найти подходящую комбинацию.

Что мне не хватает? Есть ли какие-либо другие файлы, которые мне нужно изменить?

8
задан Paul Fioravanti 7 July 2012 в 18:10
поделиться