2009-11-30 7 views

Odpowiedz

229

Jak widać w dokumentach here, zamierzonym zastosowaniem jest utworzenie ~/.rspec, w tym umieszczanie opcji, takich jak --color.

Aby szybko utworzyć plik ~/.rspec z opcją --color, wystarczy uruchomić:

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

'' molo' jest również wymagane, jeśli chcesz mieć kolor nawet podczas używania pagery. –

+2

Jakie są plusy i minusy używania '.rspec' lub' spec_helper.rb'? @shamaoke @ christoph –

+3

Ustawiam również '--format documentation' w' ~/.rspec'. – sunsations

6

Jeśli używasz grabi aby uruchomić testy rspec następnie można edytować spec/spec.opts

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

+0

Szukam tych informacji wszędzie. Dzięki :) –

+9

./spec.opts został zdeponowany. Rails 3 chce, aby plik miał nazwę ./.rspec lub ~/.rspec –

2

Albo po prostu dodać alias spec=spec --color --format specdoc do pliku ~/.bashrc jak ja.

+5

To rozwiązanie nie jest zbyt przenośne. Prawidłowa odpowiedź to @abax przy użyciu '.rspec', ponieważ po jej przejściu do projektu każdy, kto go dostanie otrzyma te same ustawienia. –

+1

Ale pytanie dotyczyło "globalnej konfiguracji dla RSpec w Ubuntu", "dla wszystkich moich projektów", nie dla trybu przenośnego ani dla trybu współpracy. – zzeroo

+3

Humm, myślę, że twoje prawo, twoja odpowiedź odnosi się bezpośrednio do PO. Zastanawiałem się nad szerszym obrazem, ale nadal uważam, że lepszą odpowiedzią byłaby @abyx, jeśli OP przyzwyczaja się do poprawnego konfigurowania projektów, inni skorzystają, może nie teraz, ponieważ może on pracować w pojedynkę, ale dobre praktyki są właśnie takie.Przepraszam, trochę ranty, tylko mój sposób myślenia. –

147

Można również użyć pliku spec_helper.rb we wszystkich projektach. Plik powinien zawierać:

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 

Każdy przykładowy plik musi wymagać, aby pomocnik mógł korzystać z tych opcji.

+1

Pierwotne pytanie wymaga konfiguracji globalnej, jest to projekt specyficzny. Przydatna, ale nie poprawna odpowiedź, w przeciwieństwie do pliku, który wskazuje na plik '.rspec'. –

+8

Wyszukiwanie informacji o konfiguracji RSpec i formaterach przenosi nas na tę stronę, więc doceniam tę odpowiedź, nawet jeśli było to niewłaściwe pytanie :-) – phatmann

+3

'color_enabled' jest teraz' color' – elado

12

W pliku spec_helper.rb zawierają następujące opcje:

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

Następnie należy wymagać w każdym pliku *_spec.rb że należy wykorzystać tę opcję.

+0

Cześć dziękuję - czy mógłbyś umieć rozwinąć następujące kwestie: "Musisz wtedy wymagać w każdym pliku * _spec.rb, który powinien użyć tej opcji." Nie rozumiem. – BKSpurgeon

+0

Każdy z plików * _spec.rb zwykle zaczyna się od "spec_helper", nie należy tego zapominać. –

1

jedna rzecz, aby mieć świadomość jest wpływ różnych sposobów prowadzenia rspec.

starałem się włączyć opcję z poniższego kodu w ciemno/spec_helper.rb -

Rspec.configure do |config| 
    config.tty = $stdout.tty? 
end 
  1. nazywając binarne 'rspec' bezpośrednio - albo jako 'bundle exec RSpec' i sprawdzanie $ stdout.tty? zwróci true.
  2. Wywołanie zadania "rake spec" - lub jako "specyfikacja rake w pakiecie exec" - Rake wywoła rspec w oddzielnym procesie, a $ stdout.tty? zwróci false.

W końcu skorzystałem z opcji ~/.rspec, z just -tty jako jego treści. Działa dobrze dla mnie i utrzymuje wydajność serwera CI w czystości.