2011-07-17 11 views
5

Intentando pasar algunos argumentos al rspec, pero no puede encontrar ninguna opción de línea de comandos adecuada para este propósito. I podría usar una variable de entorno para eso, pero no estoy seguro de que sea la mejor (y más transparente) forma de configurar las pruebas.¿Hay alguna manera de pasar argumentos de línea de comando a espec/rspec?

Entonces, ¿cómo puedo pasar los argumentos de la línea de comandos? Si no puede, ¿cuál es la mejor y más aceptable alternativa?

+0

creo que es imposible - http://groups.google.com/group/rspec/browse_thread/thread/aa06395242dd7aae/c1ae10d2ad4dc33a?lnk=raot&pli=1 –

+0

visto - es así, ¿cuál es la mejor manera de hacerlo? ¿Variables de entorno? ¿cómo pueden ser rastreados? ¿debo envolver 'rspec' con un script de shell que recibe un argumento y lo empuja a la variable de entorno? suena mal, eh. debería haber una manera (creo) o debe haber una razón por la cual dicha funcionalidad no existe a propósito. – BreakPhreak

+1

En lugar de preguntar "¿cómo paso los argumentos de la línea de comandos a RSpec?", Podría valer la pena decirnos por qué quieres hacer eso, y luego podemos ayudarte a ver si hay una mejor manera. La necesidad de pasar opciones arbitrarias de línea de comando a un programa huele a un diseño deficiente. –

Respuesta

2

Una forma limpia de hacerlo es agregar etiquetas para sus opciones, aunque esto podría no funcionar en su caso.

rspec --tag sleep_5_seconds 

Y luego, en su spec_helper.rb

RSpec.configure do |c| 
    before(:each, :sleep_5_seconds => true) do 
    setup_5_second_sleep 
    end 
end 

Este código no se ha ejecutado, pero eso es el concepto. También puede hacerlo con un bloque de alrededor si necesita configurar y desmontar según la variable.

Cuestiones relacionadas