<p>cucumber-js no encuentra definiciones de pasos</p>

Creado en 11 ene. 2017  ·  48Comentarios  ·  Fuente: cucumber/cucumber-js

Hola, soy un novato que ha estado intentando durante horas que cucumber-js encuentre mis definiciones de pasos. Se me ocurrió este sencillo ejemplo.

En características / foo.feature:

Feature: Foo
  Scenario: Bar
    Given FooBar

En features / step_definitions / step_defs.js:

var {defineSupportCode} = require('cucumber');

defineSupportCode(function({Given}) {
    Given('FooBar', function () {
      return 'pending';
    });    
});

Obtengo este resultado:

Feature: Foo

  Scenario: Bar
  ? Given FooBar

Warnings:

1) Scenario: Bar - features\foo.feature:2
   Step: Given FooBar - features\foo.feature:3
   Message:
     Undefined. Implement with the following snippet:

       Given('FooBar', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

1 scenario (1 undefined)
1 step (1 undefined)
0m00.000s
help wanted

Comentario más útil

Bien. Creo que me di cuenta de esto.

Al utilizar una instalación global de pepino para ejecutar las pruebas de funciones, aún está definiendo el código de soporte al requerir la instalación local de pepino. El hecho de que se trate de dos instancias diferentes hace que no se carguen definiciones de pasos.

¿Hay alguna razón por la que no pueda usar la instalación local para ejecutar el comando? Hago esto en mac agregando "./node_modules/.bin" a mi ruta.

No me gusta la idea de intentar que esto funcione haciendo que la instalación global intente requerir la instalación local para obtener las definiciones de los pasos. Tampoco me gusta la instalación global, ya que hace que tengas que especificar cosas como compilar módulos por su ruta absoluta.

Si esto es posible en Windows, preferiría simplemente actualizar la documentación para mencionar que esto no se puede usar como una instalación global.

Todos 48 comentarios

Sé que cucumber-js está encontrando el archivo de definiciones de pasos, porque cuando le inyecto un error de sintaxis, cucumber-js informa el error correctamente.

¿Qué versión de pepino-js estás usando?

Dice 2.0.0-rc.6

También es un novato y tiene el mismo problema al ejecutar la misma versión de cucumber.js
Estaba siguiendo otro tutorial pero me quedé atascado en este punto.

/features/add-item.feature

Feature: Shopper can add an item to their Grocery List
  As a grocery shopper
  I want to add an item to my grocery list
  So that I can remember to buy that item at the grocery store

  Scenario: Item added to grocery list
    Given I have an empty grocery list
    When I add an item to the list
    Then The grocery list contains a single item

  Scenario: Item accessible from grocery list
    Given I have an empty grocery list
    When I add an item to the list
    Then I can access that item from the grocery list`

/features/step_definitions/add-item.steps.js
'use strict';

module.exports = function() {

    Given('I have an empty grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });


    When('I add an item to the list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

    Then('The grocery list contains a single item', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

    Then('I can access that item from the grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

}

$ node_modules/.bin/cucumber-js devoluciones

Feature: Shopper can add an item to their Grocery List

    As a grocery shopper
    I want to add an item to my grocery list
    So that I can remember to buy that item at the grocery store

  Scenario: Item added to grocery list
  ? Given I have an empty grocery list
  ? When I add an item to the list
  ? Then The grocery list contains a single item

  Scenario: Item accessible from grocery list
  ? Given I have an empty grocery list
  ? When I add an item to the list
  ? Then I can access that item from the grocery list

Warnings:

1) Scenario: Item added to grocery list - features/add-item.feature:6
   Step: Given I have an empty grocery list - features/add-item.feature:7
   Message:
     Undefined. Implement with the following snippet:

       Given('I have an empty grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

2) Scenario: Item added to grocery list - features/add-item.feature:6
   Step: When I add an item to the list - features/add-item.feature:8
   Message:
     Undefined. Implement with the following snippet:

       When('I add an item to the list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

3) Scenario: Item added to grocery list - features/add-item.feature:6
   Step: Then The grocery list contains a single item - features/add-item.feature:9
   Message:
     Undefined. Implement with the following snippet:

       Then('The grocery list contains a single item', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

4) Scenario: Item accessible from grocery list - features/add-item.feature:11
   Step: Given I have an empty grocery list - features/add-item.feature:12
   Message:
     Undefined. Implement with the following snippet:

       Given('I have an empty grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

5) Scenario: Item accessible from grocery list - features/add-item.feature:11
   Step: When I add an item to the list - features/add-item.feature:13
   Message:
     Undefined. Implement with the following snippet:

       When('I add an item to the list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

6) Scenario: Item accessible from grocery list - features/add-item.feature:11
   Step: Then I can access that item from the grocery list - features/add-item.feature:14
   Message:
     Undefined. Implement with the following snippet:

       Then('I can access that item from the grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

2 scenarios (2 undefined)
6 steps (6 undefined)
0m00.000s

En este momento, no se ha incluido un archivo world.js.

@ dunlop-ben, consulte el registro de cambios sobre la diferencia entre las versiones 1.0 y 2.0 candidatas. La forma de definir los pasos cambió y su ejemplo parece estar usando la sintaxis 1.0.

@jeffmath, nada me parece mal. Tenemos pruebas de funciones que verifican que algo como su ejemplo simple funcione. Al reproducirlo en una mac, funciona como se esperaba para mí. ¿Qué versión de nodo está ejecutando? Y por las rutas que parece que estás en la máquina de Windows, ¿es correcto?

@charlierudolph - gracias. He investigado esto y he probado algunos ejemplos diferentes con un resultado similar. También intenté usar la definición de funciones y pasos aquí: http://cucumber.github.io/cucumber-js/

Siento que me debe faltar un paso y / o archivos. Si hay algún lugar al que me puedas dirigir, sería genial. No he tenido mucha suerte leyendo la documentación de Github.

@charlierudolph Node 6.4.0 en Windows 7

@charlierudolph Tengo un problema similar. Sigo exactamente https://github.com/cucumber/cucumber-js/blob/master/docs/nodejs_example.md y el problema persiste.

Mi configuración es

  • NODO 7.4.0
  • SO: Windows 10
  • Pepino 2.0.0 -rc.6

@jeffmath @TheAdamW lo siento, pero no tengo una máquina con Windows y, por lo tanto, no puedo rastrear esto. Estamos usando appveyor para ejecutar nuestras pruebas en una máquina con Windows y no sé cuál sería la diferencia. ¿Podría alguno de ustedes intentar profundizar en esto? Me complace brindar cualquier ayuda que pueda

Para mí, funciona si estoy escribiendo ./node_modules/.bin/cucumberjs pero no si escribo solo el cucumberjs globalmente instalado (la misma versión 2.0.0-rc.6 ).

El mismo error aquí: no hay forma de que el pepino encuentre las definiciones de los pasos. Tener la misma estructura de carpetas funciona en Linux.

  • NODO. 4.4.0 y 4.6
  • SO: Windows 10
  • Pepino 2.0.0 -rc.6

¿Hay alguna forma de forzar la ruta / carpeta / patrón de definiciones de pasos?
Por cierto, el truco de @MartinDelille no funcionó para mí.

Estoy enfrentando el mismo problema de repente, el pepino estuvo bien ejecutando los scripts hasta hoy por la mañana. No tengo idea de qué tiene de malo.

Ejecuto la función haciendo clic derecho en ruby ​​mine y desde la línea de comando usando el comando cucumber -r features/chatstep.feature obtengo el mismo resultado.

Alguien puede ayudarme porfavor

Dado (/ ^ lanzo "([^"] *) "$ /) do | arg1 |
pendiente # Escriba aquí código que convierta la frase anterior en acciones concretas
fin

Tuve que degradar a 1.3.1 para que funcionara.
Ni siquiera funciona en centos.

El 25 de enero de 2017 a las 21:32, "Mrityunjeyan S" [email protected] escribió:

De repente me enfrento al mismo problema, el pepino estaba bien
ejecutando los scripts hasta hoy por la mañana. No tengo idea de que esta mal
con eso.

Ejecuto la función haciendo clic derecho en ruby ​​mine y desde la línea de comando usando
el comando cucumber -r features / chatstep.feature obtengo el mismo resultado.

Alguien puede ayudarme porfavor

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/cucumber/cucumber-js/issues/718#issuecomment-275224435 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ALjDKMNdggk1Gh-x_q3KRuvlpN5f_0cOks5rV7E9gaJpZM4LhJZO
.

@jbgraug : ¿qué

Probé con RC 2.0.6 y RC 2.0.0. No pude hacerlo funcionar en Linux o
windows como pepino no pudo encontrar las definiciones de pasos, ni siquiera con
la opción -r.

El jueves 26 de enero de 2017 a las 6:18 a.m., Mrityunjeyan S [email protected]
escribió:

@jbgraug https://github.com/jbgraug : ¿qué rebajaste ? ¿Qué era Ur?
versión anterior antes de degradar

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/cucumber/cucumber-js/issues/718#issuecomment-275310070 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ALjDKGbyYXvsjlLv-dlz6bnHMfPK7t05ks5rWCypgaJpZM4LhJZO
.

@jbgraug Supongo que el pepino ha desaprobado el gherkin incluido en la versión 2.0. Actualmente estoy instalando 1.3.14, y dice fetching gherkin que nunca noté al instalar versiones superiores a 2.0

@ reach2jeyan basado en su línea de comando y fragmentos de prueba, creo que está hablando de pepino-rubí . Si bien estos dos proyectos están relacionados al tratar de implementar el marco de pepino para sus respectivos idiomas, tienen una serie de diferencias.

@charlierudolph Gracias por intervenir. Mi culpa, en realidad no había seguido los procedimientos de definición de pasos antes, además, las versiones pepino-rubí estaban todas en mal estado. Luego tuve que restablecer todo y comenzar de nuevo.

¡Funciona ahora por cierto!

@charlierudolph exactamente lo que dijo @MartinDelille , funciona bien a través de npm -S con ./node_modules/.bin/cucumber.js , pero no a través de npm -g con /usr/local/bin/cucumber.js , busca y ejecuta los pasos, pero de alguna manera los olvida después.

macOS + Node.js 7.5.0 + Cucumber.js 2.0.0-rc.7
windows specific etiqueta es engañosa

@kozhevnikov gracias por la actualización. Todos los informes hasta ahora habían estado en Windows (y no pude volver a crear en mi Mac local con la instalación local) Es difícil imaginar que la instalación global sea de alguna manera diferente, pero al menos ahora puedo investigar.

obtengo los mismos problemas en Windows usando el símbolo del sistema a través de cygwin, ¿quizás ese es el problema? Incluso copié el código directamente del ejemplo.

Característica: matemáticas simples
Para hacer matemáticas
Como desarrollador
Quiero incrementar variables

Escenario: matemáticas fáciles
Dada una variable establecida en 1
Cuando incremento la variable en 1
Entonces la variable debe contener 2

Esquema del escenario: cosas mucho más complejas
Dada una variable establecida en

Examples:
  | var | increment | result |
  | 100 |         5 |    105 |
  |  99 |      1234 |   1333 |
  |  12 |         5 |     18 |

Cucumber.defineSupportCode (función (contexto) {
var setWorldConstructor = context.setWorldConstructor;
var Dado = contexto.
var When = context.When
var Entonces = contexto Entonces

///// Tu mundo /////
//
// Llame a 'setWorldConstructor' con su mundo personalizado (opcional)
//

var CustomWorld = function () {};

CustomWorld.prototype.variable = 0;

CustomWorld.prototype.setTo = function (number) {
this.variable = parseInt (número);
};

CustomWorld.prototype.incrementBy = function (number) {
this.variable + = parseInt (número);
};

setWorldConstructor (CustomWorld);

///// Tus definiciones de pasos /////
//
// use 'Dado', 'Cuándo' y 'Entonces' para declarar definiciones de pasos
//

Dado (/ ^ una variable establecida en (\ d +) $ /, función (número) {
this.setTo (número);
});

Cuando (/ ^ incremento la variable en (\ d +) $ /, función (número) {
this.incrementBy (número);
});

Entonces (/ ^ la variable debe contener (\ d +) $ /, function (number) {
if (this.variable! = parseInt (número))
lanzar un nuevo error ('La variable debe contener' + número +
'pero contiene' + this.variable + '.');
});
})

obtengo este error "ReferenceError: dado no está definido"
Ejecuto cucumber.js y ~ / node_modules / .bin / cucumber.js con el nombre de archivo específico y siempre arroja un error. Puedo ejecutar pepino con ruby ​​sin problemas, pero no puedo hacer que cucumberjs funcione

Bien. Creo que me di cuenta de esto.

Al utilizar una instalación global de pepino para ejecutar las pruebas de funciones, aún está definiendo el código de soporte al requerir la instalación local de pepino. El hecho de que se trate de dos instancias diferentes hace que no se carguen definiciones de pasos.

¿Hay alguna razón por la que no pueda usar la instalación local para ejecutar el comando? Hago esto en mac agregando "./node_modules/.bin" a mi ruta.

No me gusta la idea de intentar que esto funcione haciendo que la instalación global intente requerir la instalación local para obtener las definiciones de los pasos. Tampoco me gusta la instalación global, ya que hace que tengas que especificar cosas como compilar módulos por su ruta absoluta.

Si esto es posible en Windows, preferiría simplemente actualizar la documentación para mencionar que esto no se puede usar como una instalación global.

Dos puntos menores sobre la eliminación de la instalación global:

  1. Todos los documentos necesitarían actualizarse, y no solo los oficiales, sino muchos otros marcos populares construidos en la parte superior. Estaba siguiendo cuando me encontré con esto y fue frustrante depurar para alguien que acababa de comenzar con JavaScript / Node.js / Cucumber.js

  2. Muchos IDE y complementos están codificados para apuntar a global. Además, agregar una variable de entorno fuera del perfil de bash (es decir, iniciar WebStorm a través de Spotlight) en macOS es complicado y cambia de una versión a otra.

Mmm. Podemos agregar una opción CLI que permite al usuario especificar dónde está la instancia local de pepino. Podemos tener el valor predeterminado process.cwd() + /node_modules/cucumber que debería cubrir la mayoría de los casos.

@charlierudolph Después de informar originalmente el error, me di cuenta de que necesitaba usar Cucumber-JVM, de todos modos, ya que el código que necesitaba probar estaba escrito en Scala.js. Pero la próxima vez que necesite probar Javascript, su solución parece fácil de implementar. Gracias por resolver el problema.

Será complicado, por lo que tengo entendido, Node tiene muchos casos extremos , por lo que como mínimo tendría que atravesar los padres hasta que encuentre el paquete local o llegue a la raíz de la unidad, y no sé qué tan popular es el uso de carpetas globales en la comunidad de Node.

@jeffmath @kozhevnikov aquí están mis pensamientos actualizados sobre esto

  1. Estoy bien con la opción cli que permite al usuario especificar la ruta al pepino local. Si no se proporciona, utiliza la instancia ejecutada.
  2. El uso de esta opción haría la validación de la versión para garantizar que la instalación local / global sea exactamente la misma versión, ya que, de lo contrario, es posible que las cosas no funcionen como se esperaba. De lo contrario, arrojará un error que le indicará al usuario que alinee las versiones.
  3. Esta opción quedaría obsoleta de inmediato y vendría con una advertencia para dejar de usar la instalación global y, en su lugar, usar únicamente la instalación local.
  4. Esta opción se eliminará en la próxima versión principal.

Encontré un problema similar al intentar crear una biblioteca de pruebas comunes. Mi idea es reutilizar las pruebas en diferentes proyectos.

He creado un paquete de pruebas común llamado _roi-Functional-tests_ que me gustaría usar en otros proyectos. Hasta ahora, he vinculado el paquete con _npm link_ y luego trato de apuntar pepino a las características en _roi-Functional-tests_, algo como esto:

./node_modules/.bin/cucumberjs ./node_modules/roi-functional-tests/features

Pero entiendo esto:

Warnings:

1) Scenario: Curl request - node_modules/roi-functional-tests/features/home.feature:3
   Step: Given I make curl request to "/" - node_modules/roi-functional-tests/features/home.feature:4
   Message:
     Undefined. Implement with the following snippet:

       Given('I make curl request to {arg1:stringInDoubleQuotes}', function (arg1, callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

¿Puede pepino importar definiciones desde fuera del directorio de trabajo?

@jramcast sí. Pero necesitaría usar la bandera --require cli.

Ya intenté usar la bandera --require :

./node_modules/.bin/cucumberjs --require ./node_modules/roi-functional-tests/features ./node_modules/roi-functional-tests/features

Pero obtengo el mismo resultado.

¿Es posible que npm link pueda estar causando que pepino no encuentre las definiciones?

Entonces hice la misma prueba sin npm link . Publiqué e instalé el paquete y todo funciona bien con solo llamar:

./node_modules/.bin/cucumberjs ./node_modules/roi-functional-tests/features

Supongo que, al vincular el paquete, require carga el pepino instalado dentro del directorio del paquete vinculado ( node_modules/roi-functional-tests/node_modules/cucumber ). Sin embargo, si se instala _roi-Functional-tests_, npm aplana el árbol de dependencias y usa la instancia de pepino instalada justo debajo de los módulos node_modules del proyecto ( node_modules/cucumber )

Tiene el mismo problema.

Versión de pepino: "pepino": "^ 2.0.0-rc.9"
Versión de Windows: 10
Versión de nodo: 6.10.3 LTS y 7.10

No funciona en IDE o instancia global de pepino, nunca encuentra los pasos aunque estén implementados correctamente.

Si llamo a cucumber.js desde el directorio node_modules del proyecto, entonces funciona.

¿Alguien tiene alguna sugerencia sobre cómo solucionar este problema?

Esto también está sucediendo en MacOS Sierra 10.12.4
Nodo versión 7.10

Volví a la versión 1.3.0 de Cucumber, funciona bien ahora llamándolo a través de cmd usando una instancia global Y funciona en IDE.

Hola @charlierudolph ,
Estoy en el siguiente paso. (Avanzado desde el número 60 hasta aquí)
Ejecuto solo con una instancia local, pero mis definiciones de pasos no se reconocen mientras ejecuto el archivo de características
image
El archivo de características y los archivos de definición de pasos están en el lugar correcto (captura de pantalla adjunta)
¿Por qué mi paso def no está identificado?

Tenía una referencia de pepino a las versiones 1.X en package-lock.json
"wdio-cucumber-framework":

    "cucumber": {
      "version": "1.3.3",
      "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-1.3.3.tgz",
      "integrity": "sha1-Za+2Xy+T9y2teN8qterPFGCf7C8=",
      "dev": true
    },

"webdriverio-cucumber-js":  

   "cucumber": {
      "version": "1.2.2",
      "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-1.2.2.tgz",
      "integrity": "sha1-KEZJEf8arfwOZjTXY2q69mHGaJI="
    },

Cambié esas dos versiones a 2,3,1
Mi versión de nodo es 8.0.0
Pero aún así, no se reconoce la definición de paso.
¿Alguna idea?

@vvedachalam

Si está utilizando webdriverIO con su corredor de prueba en lugar de en modo independiente, NECESITARá usar la versión 1.x de pepino-js, preferiblemente 1.3.3 en lugar de 2.x, ya que el corredor de prueba NO es compatible con la nueva versión y una nueva forma en que se implementan las definiciones de pasos.

Volví al antiguo [email protected] ya que estoy usando el corredor de prueba que se requiere para el modelo de objetos de página y me aseguro de que todos los comandos se ejecuten sincrónicamente.

@GeeChao
Gracias por la respuesta. He revertido y ejecuté la prueba aún No se reconoce la definición del paso

Cuando probé el comando con -r, obtengo un error de sintexis en el archivo de características ...
C: /webdriverio-test/node_modules/.bin/cucumber-js -r features / customer-validation.feature

C: \ webdriverio-testfeatures \ customer-validation. característica: 2
Como propietario
^^

ErrorDeSintáxis: Identificador Inesperado
en createScript (vm.js: 74: 10)
en Object.runInThisContext (vm.js: 116: 10)
en Module._compile (module.js: 533: 28)
en Object.Module._extensions..js (module.js: 580: 10)
en Module.load (module.js: 503: 32)
en tryModuleLoad (module.js: 466: 12)
en Function.Module._load (module.js: 458: 3)
en Module.require (module.js: 513: 17)
en require (internal / module.js: 11:18)
en C: \ webdriverio-test \ node_modules \ cucumberlib \ cliindex.js: 135: 16
en Array.forEach (nativo)
en Cli.getSupportCodeLibrary (C: \ webdriverio-test \ node_modules \ cucumberlib \ cliindex.js: 134: 24)
en Cli.(C: \ webdriverio-test \ node_modules \ cucumberlib \ cliindex.js: 144: 39)
en Generator.next ()
en Generator.tryCatcher (C: \ webdriverio-test \ node_modules \ bluebird \ js \ release \ util.js: 16: 23)
en PromiseSpawn._promiseFuldered (C: \ webdriverio-test \ node_modules \ bluebird \ js \ release \ generators.js: 97: 49)

@vvedachalam ¿Podría crear y enviar esto a su repositorio para que pueda replicarlo?

@GeeChao
Por favor échale un vistazo
https://github.com/vvedachalam/Ruffer-Test

@vvedachalam

Mueva su carpeta step_definitions dentro de su carpeta de características y comenzará a funcionar y reconocerá las definiciones de los pasos. El único problema que aparece después es que la ubicación del archivo txtdetails.txt es incorrecta.

@GeeChao
ahh ,, sry, no presioné ese cambio.
Si ve mi captura de pantalla anterior, la definición del paso está solo dentro de la carpeta de características.
Espero que el contenido sea:
Contenido = fs.readFileSync ('../../ txndetails.txt', 'utf8');

Entonces, ¿por qué no puedo pegar la definición de paso al archivo de características en mi local?
¿Mi configuración no es correcta?

@vvedachalam

Esto funciona para mi.

Lo único que hice fue mover step_definitions al directorio de características

también hice un npm install [email protected] --save-dev

luego ejecutó node_modules / cucumber / bin / cucumber.js features /

@GeeChao Todo funcionó bien. Hice un bucle For dentro de la declaración Then que creó el problema. ¿Es posible utilizar la definición de paso For loop inside?
No quiero usar el ejemplo, ya que tengo que ejecutar el paso Luego en función de los datos de un archivo de texto (prueba basada en datos)
Sé que esta pregunta no está relacionada con este tema, pero solo pensé si puedo obtener ayuda.

@GeeChao Ok, de nuevo es mi tonto error. La variable de bucle no se configuró correctamente (se olvidó de comparar la longitud). Gracias de nuevo por tu apoyo

Para mí, como novato, el error fue causado por pasar una cadena en lugar de una expresión regular en los pasos;

Then('I log in as (.*)', ...)

en vez de

Then(/I log in as (.*)', ...)

Error simple, pero con suerte útil para alguien más que está comenzando.

@vvedachalam ¿Lo

@ sancy2017 Me mudé a la herramienta TestCafe de WDIO. Por lo tanto, es posible que no pueda decirle la solución de inmediato. Déjame saber cuál es exactamente el problema al que te enfrentas.

La solución simple para este error es npm install [email protected] --save-dev
luego ejecuta tu prueba ..npm test

Me encontré con el mismo problema "No se reconocieron las definiciones de Cucumber Step". Cambiar el nombre del directorio de "pasos" a "pasos_definiciones" funcionó para mí.

Veo que la mayoría de las personas tienen step_definitions en el directorio de características, creo que una mejor práctica es tener la implementación de los pasos en un directorio separado, es decir, src / step_definitions en lugar de mantener los pasos en el directorio de características.

¿Fue útil esta página
0 / 5 - 0 calificaciones