web-dev-qa-db-fra.com

Comment configurer globalement RSpec pour garder les options '--color' et '--format specdoc' activées

Comment définir la configuration globale pour RSpec dans Ubuntu.

Plus précisément, --color et --format specdoc restent activés dans tous mes projets (c'est-à-dire chaque fois que je lance rspec n'importe où).

154
Evolve

Comme vous pouvez le voir dans la documentation ici , l’utilisation prévue est de créer ~/.rspec et y mettre vos options, telles que --color.

Pour créer rapidement un ~/.rspec fichier avec le --color option, lancez simplement:

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

On peut aussi utiliser un spec_helper.rb fichier dans tous les projets. Le fichier doit inclure les éléments suivants:

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

Tout fichier exemple doit obliger l’assistant à utiliser ces options.

149
Shamaoke

Dans votre spec_helper.rb fichier, incluez l'option suivante:

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

Vous devez alors exiger dans chaque *_spec.rb fichier qui devrait utiliser cette option.

12
Christoph Petschnig

Si vous utilisez rake pour exécuter des tests rspec, vous pouvez éditer spec/spec.opts

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

6
fernyb

Ou simplement ajouter alias spec=spec --color --format specdoc dans votre fichier ~/.bashrc comme moi.

2
zzeroo

Une chose à prendre en compte est l’impact des différentes manières de faire fonctionner RSpec.

J'essayais d'activer l'option avec le code suivant dans spec/spec_helper.rb -

Rspec.configure do |config|
  config.tty = $stdout.tty?
end
  1. appeler le binaire 'rspec' directement - ou en tant que 'bundle exec rspec' et vérifier $ stdout.tty? retournera vrai.
  2. appel de la tâche 'rake spec' - ou en tant que 'bundle exec rake spec' - Rake appellera rspec dans un processus séparé, et $ stdout.tty? retournera faux.

Finalement, j'ai utilisé l'option ~/.rspec, avec juste --tty pour contenu. Fonctionne bien pour moi et maintient la sortie de notre serveur CI propre.

1
Leif