Un concetto importante da capire è che c'è una differenza tra tag e profili. Sto anche utilizzando Guard con Cucumber ed ero frustrato che il profilo predefinito continuasse ad essere utilizzato e nessuno dei miei tag @wip (Work In Progress) fosse stato prelevato. È ovvio ora perché è stato così. Come affermato da altri in altri forum, il mio profilo predefinito filtra @wip.
< config/cucumber.yml>
<%
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
base_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
std_opts = "#{base_opts} --strict --tags [email protected]"
wip_opts = base_opts
%>
default: --drb <%= std_opts %> features
wip: --drb <%= wip_opts %> --tags @wip:3 --wip features
rerun: --drb <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags [email protected]
"std_opts = "# {} base_opts --strict --tags ~ @ wip" < = wip viene filtrato qui a std_opts
voglio utilizzare il profilo 'WIP', che includerebbe scenari o funzioni contrassegnate da '@wip'
WIP: --drb <% = wip_opts%>--tags @wip: 3 --wipe caratteristiche "< = il numero rappresenta il numero massimo di scenari da eseguire; '--wip' indica che Cuc si aspetta che il test fallisca (perché ci stiamo lavorando)
Quindi i tag sono già configurati e ho incluso '@wip' nel mio file * .feature. E i profili? Quando si utilizza Guard (Spork), per utilizzare il profilo "wip", è necessario configurarlo. Ha senso; il computer non può leggere nella mia mente! Aggiorna il file Guard per usare il profilo 'wip'.
< Guardfile>
guard 'cucumber', :cli => "--drb -p wip", :all_on_start => false, :all_after_pass => false do
watch(%r{^features/.+\.feature$})
watch(%r{^features/support/.+$}) { 'features' }
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
end
guardia 'cetriolo',: cli => "--drb -p wip" < = '-p' per specificare il profilo desiderato
E ora i miei scenari vengono filtrati con successo da "wip".
fonte
2012-06-08 20:20:49
Grazie per quel Dan. Posso eseguire tag dalla riga di comando, ma non posso per quanto ne so passare le opzioni al comando 'bundle exec guard', così come suggerisci che il file del profilo deve essere la chiave. Tornerò quando posso confermare che ho funzionato –
Ciao Dan, ho appena provato il tuo suggerimento e anche se non riesco a farlo funzionare sospetto che sia il mio errore nell'implementazione. Vorrei segnare la tua risposta come quella giusta. Potresti incorporare la risposta che ho messo qui sotto per mostrare come passare gli argomenti della linea di comando tramite il file di guardia. Se riesci a farlo, cancellerò il mio e contrassegno il tuo come giusto. –
Come sta Pete? Fammi sapere i tuoi commenti. –