it-swarm.com.ru

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

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

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

154
Evolve

Как вы можете видеть в документации здесь , предполагаемое использование - это создание ~/.rspec и размещение в нем ваших опций, таких как --color.

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

echo '--color' >> ~/.rspec 
235
abyx

Можно также использовать файл 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

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

149
Shamaoke

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

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

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

12
Christoph Petschnig

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

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

6
fernyb

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

2
zzeroo

Следует помнить о влиянии различных способов запуска 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? вернет ложь.

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

1
Leif