2009-11-30 8 views

risposta

229

Come si può vedere nella documentazione here, la destinazione d'uso è la creazione di ~/.rspec e in essa mettere le opzioni, come ad esempio --color.

per creare rapidamente un file con l'opzione ~/.rspec--color, basta eseguire:

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

'--tty' è richiesto anche se si desidera il colore anche quando si utilizzano i cercapersone. –

+2

Quali sono i pro/contro nell'uso di '.rspec' o' spec_helper.rb'? @shamaoke @christoph –

+3

Ho anche impostato '--format documentation' in' ~/.rspec'. – sunsations

6

Se si utilizza rastrello per eseguire i test RSpec quindi è possibile modificare spec/spec.opts

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

+0

Ho cercato queste informazioni ovunque. Grazie :) –

+9

./spec.opts è stato sottratto. Rails 3 vuole che il file sia denominato ./.rspec o ~/.rspec –

2

o semplicemente aggiungere alias spec=spec --color --format specdoc al vostro file ~/.bashrc come me.

+5

Questa soluzione non è molto portabile. La risposta corretta è @abyx con l'uso di '.rspec', come quando è stato effettuato il check in con il progetto, chiunque altro lo ottenga otterrà le stesse impostazioni. –

+1

Ma la domanda riguardava la "configurazione globale per RSpec in Ubuntu", "tra tutti i miei progetti" non portatile o coop mode. – zzeroo

+3

Humm, immagino che tu abbia ragione, la tua risposta si riferisce direttamente all'OP. Stavo pensando un'immagine più grande, ma penso ancora che la risposta migliore fosse @abyx, se l'OP si abitua a configurare correttamente i progetti, gli altri ne trarranno beneficio, forse non ora dato che potrebbe lavorare da solo, ma le buone pratiche sono proprio questo.Scusa, un po 'ranty, solo il mio modo di pensare. –

147

Si può anche usare un file in tutti i progetti. Il file dovrebbe includere la seguente:

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 

Qualsiasi file di esempio devono richiedere il supporto per essere in grado di utilizzare che le opzioni.

+1

La domanda originale richiede una configurazione globale, questa è una specifica del progetto. Utile, ma non la risposta corretta, a differenza di Abyx che punta al file '.rspec'. –

+8

Una ricerca di informazioni sulla configurazione e sui formattatori di RSpec porta uno a questa pagina, quindi ho apprezzato questa risposta, anche se era per la domanda sbagliata :-) – phatmann

+3

'color_enabled' è ora' color' – elado

12

Nel file spec_helper.rb, includono la seguente opzione:

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

È quindi necessario richiedere in ogni file *_spec.rb che dovrebbe utilizzare questa opzione.

+0

Ciao grazie - vuoi essere in grado di elaborare quanto segue: "È quindi necessario richiedere in ogni file * _spec.rb che dovrebbe utilizzare tale opzione." Non capisco. – BKSpurgeon

+0

Ogni file * _spec.rb di solito inizia con "spec_helper", non dovresti dimenticarlo. –

1

Una cosa da essere consapevoli è l'impatto dei diversi modi di esecuzione RSpec.

stavo cercando di attivare l'opzione con il seguente codice nel spec/spec_helper.rb -

Rspec.configure do |config| 
    config.tty = $stdout.tty? 
end 
  1. chiamando direttamente binario il 'rspec' - o come 'exec rspec fascio' e controllando $ stdout.tty? ritornerà vero.
  2. invocando l'attività 'rake spec' - o come 'bundle exec rake spec' - Rake invocherà rspec in un processo separato e $ stdout.tty? restituirà false.

Alla fine ho usato l'opzione ~/.rspec, con solo --tty come contenuto. Funziona bene per me e mantiene pulita la nostra uscita del server CI.

Problemi correlati