Как глобально настроить RSpec, чтобы опции «--color» и «--format specdoc» были включены - PullRequest
154 голосов
/ 30 ноября 2009

Как настроить глобальную конфигурацию для RSpec в Ubuntu.

В частности, параметры --color и --format specdoc остаются включенными во всех моих проектах (т. Е. Каждый раз, когда я запускаю rspec в любом месте).

Ответы [ 6 ]

235 голосов
/ 28 ноября 2011

Как вы можете видеть в документах здесь , предполагаемое использование создает ~/.rspec и включает в себя ваши параметры, такие как --color.

Чтобы быстро создать файл ~/.rspec с параметром --color, просто запустите:

echo '--color' >> ~/.rspec 
149 голосов
/ 09 сентября 2011

Можно также использовать файл spec_helper.rb во всех проектах. Файл должен содержать следующее:

RSpec.configure do |config|
  # Use color in STDOUT
  config.color = true

  # Use color not only in STDOUT but also in pagers and files
  config.tty = true

  # Use the specified formatter
  config.formatter = :documentation # :progress, :html,
                                    # :json, CustomFormatterClass
end

Любой файл примера должен требовать, чтобы помощник мог использовать эти параметры.

12 голосов
/ 14 сентября 2011

В вашем файле spec_helper.rb укажите следующую опцию:

RSpec.configure do |config|
  config.color_enabled = true
end

Затем необходимо указать в каждом *_spec.rb файле, который должен использовать эту опцию.

6 голосов
/ 01 декабря 2009

Если вы используете rake для запуска тестов rspec, вы можете редактировать spec / spec.opts

http://rspec.info/rails/runners.html

2 голосов
/ 09 января 2010

Или просто добавьте alias spec=spec --color --format specdoc в ваш файл ~ / .bashrc, как я.

1 голос
/ 10 июня 2015

Следует помнить о влиянии различных способов запуска RSpec.

Я пытался включить параметр с помощью следующего кода в spec / spec_helper.rb -

Rspec.configure do |config|
  config.tty = $stdout.tty?
end
  1. вызов двоичного файла rspec напрямую - или как «bundle exec rspec» и проверка $ stdout.tty? вернет истину.
  2. вызывая задачу 'rake spec' - или как 'bundle exec rake spec' - Rake будет вызывать rspec в отдельном процессе, а $ stdout.tty? вернет false.

В конце концов, я использовал параметр ~ / .rspec с просто --tty в качестве его содержимого. Хорошо работает для меня и поддерживает чистоту вывода нашего CI-сервера.

...