2009-11-30 6 views
150

Как установить глобальную конфигурацию для RSpec в Ubuntu.Как настроить глобальную конфигурацию RSpec для включения опций '--color' и '--format specdoc'?

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

ответ

229

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

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

echo '--color' >> ~/.rspec 
+16

'--tty' также требуется, если вы хотите цвета даже при использовании пейджеров. –

+2

Каковы преимущества/недостатки использования '.rspec' или' spec_helper.rb'? @shamaoke @christoph –

+3

Я также установил '--форматную документацию' в' ~/.rspec'. – sunsations

6

Если вы используете грабли запустить RSpec тесты, то вы можете редактировать спецификации/spec.opts

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

+0

Я искал эту информацию повсюду. Спасибо :) –

+9

./spec.opts был лишен. Rails 3 хочет, чтобы файл был назван ./.rspec или ~/.rspec –

2

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

+5

Это решение не очень портативно. Правильный ответ - @abyx с использованием '.rspec', так как при его проверке с проектом любой, получающий его, получит одинаковые настройки. –

+1

Но вопрос был о «глобальной конфигурации для RSpec в Ubuntu», «во всех моих проектах», а не в переносном или курящем режиме. – zzeroo

+3

Humm, я думаю, ваше право, ваш ответ относится непосредственно к OP. Я думал больше об изображении, но я все еще думаю, что лучшим ответом было @abyx, если OP привык к правильному конфигурированию проектов, то другие выиграют, может быть, не сейчас, поскольку он может работать соло, но хорошие практики - это просто.Извините, немного расточительность, просто мой образ мыслей. –

147

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

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

+1

Оригинальный вопрос требует глобальной конфигурации, это конкретный проект. Полезный, но не правильный ответ, в отличие от abyx, который указывает на файл '.rspec'. –

+8

Поиск информации о конфигурации RSFT и форматировщиках приводит к этой странице, поэтому я оценил этот ответ, даже если это был неправильный вопрос :-) – phatmann

+3

'color_enabled' теперь' color' – elado

12

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

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

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

+0

Привет, спасибо - бы вы уметь уточнять следующее: «Затем вы должны потребовать в каждом файле * _spec.rb, который должен использовать этот параметр». я не понимаю. – BKSpurgeon

+0

Каждый из ваших файлов * _spec.rb обычно начинается с запроса «spec_helper», вы не должны забывать об этом. –

1

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^