Heredé una aplicación de Rails (3) y estoy tratando de familiarizarme con las pruebas existentes de Cucumber. Tengo la siguiente configuración en la carpeta de la aplicación 'características' (He echado un vistazo a los archivos que no son relevantes, por ejemplo, características adicionales y pasos)"rake" ejecuta todas mis pruebas de Cucumber bien, pero "pepino" no tiene los pasos
/features
/people
new-person.feature
/step_definitions
people_steps.rb
web_steps.rb
/support
env.rb
paths.rb
selectors.rb
Si me quedo 'rastrillo', entonces se ejecuta todas las características en características/personas/nueva-persona.feature, usando correctamente los pasos enumerados en step_definitions.
Sin embargo, no quiero ejecutar el rastrillo cada vez, ya que lleva demasiado tiempo, solo quiero ejecutar una prueba específica en Pepino, p. cucumber features/people/new-person.feature -l 8
Cuando hago esto, ejecuta la característica pero no ha cargado los pasos. Recupero esto:
Using the default profile...
Feature: Add a new person
In order to allocate tasks to people
As a community manager
I want to add a new person
Scenario: Secondary navigation should contain "Add new person" # features/people/new-person.feature:8
Given I am on the new person page # features/people/new-person.feature:9
Undefined step: "I am on the new person page" (Cucumber::Undefined)
features/people/new-person.feature:9:in `Given I am on the new person page'
Then I should not see "Add new person" # features/people/new-person.feature:10
Undefined step: "I should not see "Add new person"" (Cucumber::Undefined)
features/people/new-person.feature:10:in `Then I should not see "Add new person"'
1 scenario (1 undefined)
2 steps (2 undefined)
0m0.005s
You can implement step definitions for undefined steps with these snippets:
Given /^I am on the new person page$/ do
pending # express the regexp above with the code you wish you had
end
Then /^I should not see "([^"]*)"$/ do |arg1|
pending # express the regexp above with the code you wish you had
end
If you want snippets in a different programming language, just make sure a file
with the appropriate file extension exists where cucumber looks for step definitions.
¿Por qué no está Cucumber cargando los pasos en? Supongo que necesito exigir los pasos en algún lugar, pero no puedo averiguar dónde.
Gracias, Max
Para en aras del argumento, mueva el archivo de características a un directorio. No tengo un requerimiento en ninguna parte de mis varios archivos .feature, y no vi ninguna configuración goop en características/soporte/archivos que parecían apuntar a esto. ¿Estás seguro de que tu código people_steps.rb es funcional? ¿Ya has sacrificado una gallina? – jaydel
@jaydel - todo funciona bien cuando lo ejecuto simplemente con 'rake', es decir, todos los pasos están bien cargados. Me gustaría seguir subdividiendo mis funciones solo por el bien de organizarlas en grupos sensatos. –
@jaydel - pero al mover los archivos de características a la carpeta de características principales se solucionó el problema ... Debe haber un requerimiento en algún lugar que necesite agregar un "../" adicional. –