Wie stelle ich die globale Konfiguration für RSpec in Ubuntu ein?
Insbesondere bleiben --color und --format specdoc in allen meinen Projekten aktiviert (dh jedes Mal, wenn ich rspec irgendwo ausführe).
Wie stelle ich die globale Konfiguration für RSpec in Ubuntu ein?
Insbesondere bleiben --color und --format specdoc in allen meinen Projekten aktiviert (dh jedes Mal, wenn ich rspec irgendwo ausführe).
Antworten:
Wie Sie in den Dokumenten hier sehen können , besteht die beabsichtigte Verwendung ~/.rspec
darin, Ihre Optionen zu erstellen und darin zu platzieren, z --color
.
Um schnell eine ~/.rspec
Datei mit der --color
Option zu erstellen , führen Sie einfach Folgendes aus:
echo '--color' >> ~/.rspec
.rspec
oder spec_helper.rb
? @shamaoke @christoph
~/.rspec
Lösung ist die Portabilität. Beispielsweise verarbeitet unser CI-Server die Farbausgabe nicht sehr gut. Mit der Benutzerverzeichnis-Konfigurationsdatei können wir problemlos verschiedene Umgebungen übernehmen.
Man kann auch eine spec_helper.rb
Datei in allen Projekten verwenden. Die Datei sollte Folgendes enthalten:
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
Für jede Beispieldatei muss der Helfer diese Optionen verwenden können.
.rspec
Datei verweist .
color_enabled
ist jetztcolor
Fügen Sie Ihrer spec_helper.rb
Datei die folgende Option hinzu:
RSpec.configure do |config|
config.color_enabled = true
end
Sie müssen dann in jeder *_spec.rb
Datei angeben, dass diese Option verwendet werden soll.
Wenn Sie mit rake rspec-Tests ausführen, können Sie spec / spec.opts bearbeiten
Oder fügen alias spec=spec --color --format specdoc
Sie einfach wie ich zu Ihrer ~ / .bashrc-Datei hinzu.
.rspec
, da beim Einchecken in das Projekt alle anderen, die es erhalten, die gleichen Einstellungen erhalten.
.rspec
Datei im Home-Verzeichnis des Benutzers (wie in meiner Antwort erwähnt) global für alle Aufrufe von rspec durch den Benutzer funktioniert. Das ist in der Tat solider als die Verwendung von Aliasen, da einige Edelsteine / andere Aliase / Werkzeuge, die der Benutzer möglicherweise verwendet, nicht unbedingt den Alias verwenden würden
Eine Sache, die Sie beachten sollten, ist die Auswirkung der verschiedenen Arten, RSpec auszuführen.
Ich habe versucht, die Option mit dem folgenden Code in spec / spec_helper.rb zu aktivieren -
Rspec.configure do |config|
config.tty = $stdout.tty?
end
Am Ende habe ich die Option ~ / .rspec verwendet, mit nur --tty als Inhalt. Funktioniert gut für mich und hält die Ausgabe unseres CI-Servers sauber.
--tty
ist auch erforderlich, wenn Sie auch bei Verwendung von Pagern Farbe wünschen.