Un concepto importante a entender es que hay una diferencia entre etiquetas y perfiles. También estoy usando Guard with Cucumber y me sentí frustrado porque se siguió utilizando el perfil predeterminado y no se recogieron las etiquetas @wip (Work In Progress). Es obvio ahora por qué fue ese el caso. Como afirman algunos en otros foros, mi perfil predeterminado 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 se filtra a cabo aquí en std_opts
Quiero usar el perfil 'WIP', que incluiría escenarios o características marcadas por '@wip'
WIP: --drb <% = wip_opts%>--tags @wip: 3 - características de navegación "< = el número representa la cantidad máxima de escenarios para ejecutar; '--wip' indica que Cuc espera que la prueba falle (porque estamos trabajando en ello)
Entonces las etiquetas ya están configuradas y he incluido '@wip' en mi archivo * .feature. ¿Y los perfiles? Cuando se usa Guard (Spork), para que se use el perfil 'wip', debe configurarse. Que tiene sentido; ¡la computadora no puede leer mi mente! Actualice el archivo Guardfile para usar el perfil '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 'pepino',: cli => "--drb -p WIP" < = '-p' para especificar el perfil deseado
Y ahora mis escenarios están siendo filtrados con éxito por 'wip'.
Gracias por eso Dan. Puedo ejecutar etiquetas desde la línea de comandos, pero por lo que sé no puedo pasar las opciones al comando 'bundle exec guard' para que sugiera que el archivo de perfil debe ser la clave. Volveré cuando pueda confirmar que lo tengo funcionando –
Hola Dan, acabo de probar tu sugerencia y aunque no puedo hacerlo funcionar, sospecho que es un error en la implementación. Me gustaría marcar su respuesta como la correcta. ¿Podría incorporar la respuesta que pongo a continuación para mostrar cómo pasar argumentos de línea de comando a través del archivo de guardia? Si puedes hacer eso, borraré el mío y marcaré el tuyo como correcto. –
Hows that Pete? Hazme saber tus comentarios. –