Cucumber-js: El argumento "from" debe ser de tipo cadena. Tipo recibido indefinido

Creado en 10 jun. 2020  ·  6Comentarios  ·  Fuente: cucumber/cucumber-js

Estoy tratando de seguir los pasos que escribí y publiqué en npm.
Aquí está el error que tengo:

> cucumber-js e2e/src/**/*.feature --require ./node_modules/@myProject/uat/dist/*.step.js

TypeError [ERR_INVALID_ARG_TYPE]: The "from" argument must be of type string. Received type undefined
at validateString (internal/validators.js:125:11)
at Object.relative (path.js:1162:5)
at getDefinitionLineAndUri (/home/myname/Documents/myProject/mysubProjectV2/node_modules/@myProject/uat/node_modules/cucumber/lib/support_code_library_builder/build_helpers.js:184:27)
at buildStepDefinitionConfig (/home/myname/Documents/myProject/mysubProjectV2/node_modules/@myProject/uat/node_modules/cucumber/lib/support_code_library_builder/build_helpers.js:124:7)
at SupportCodeLibraryBuilder.defineStep (/home/myname/Documents/myProject/mysubProjectV2/node_modules/@myProject/uat/node_modules/cucumber/lib/support_code_library_builder/index.js:51:79)
at Object.<anonymous> (/home/myname/Documents/myProject/mysubProjectV2/node_modules/@myProject/uat/dist/click.step.js:40:12)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at supportCodePaths.forEach.codePath (/home/myname/Documents/myProject/mysubProjectV2/node_modules/cucumber/lib/cli/index.js:142:42)
at Array.forEach (<anonymous>)
at Cli.getSupportCodeLibrary (/home/myname/Documents/myProject/mysubProjectV2/node_modules/cucumber/lib/cli/index.js:142:22)

He descubierto que esto es this.cwd que no está definido. ¿Qué puedo hacer?
image

Si copio y pego mis pasos en el directorio raíz (donde está el package.json), no tengo ningún error. Entonces el problema es: no puedo no --require from node_modules.

Comentario más útil

alguna solución para este problema? Recibo este error con Cucumber 7

Todos 6 comentarios

¿Intentaste desde node_modules en tu directorio local?

alguna solución para este problema? Recibo este error con Cucumber 7

@stefdelec @VivekLande, esto probablemente esté relacionado con

  • su paquete de pasos dependiendo de una versión de pepino diferente a la de su proyecto anfitrión
  • trabajando localmente con su paquete de pasos npm link 'd

En cualquier caso, puede terminar con dos instancias de pepino-js diferentes en tiempo de ejecución, lo que puede causar esto (puede verificar esto mirando en su jerarquía node_modules ).

Estoy trabajando para documentar esto en el n. ° 1540; eche un vistazo a la solución alternativa y vea si funciona para usted.

Gracias @davidjgoss , puedo resolver el problema con la solución que me proporcionaste.

Esta solución no me funciona. Definitivamente no tengo el pepino instalado en otro lugar. He estado en esto durante horas y no llego a ninguna parte. Estas son las dependencias de mi paquete json:

"dependencies": {
    "@cucumber/cucumber": "^7.0.0",
    "@cucumber/cucumber-expressions": "^12.0.0",
    "gherkin-testcafe": "^5.0.0",
    "testcafe": "^1.13.0"
  }

He buscado en mi carpeta node_modules y el pepino no está allí varias veces. No tengo idea de adónde ir después

@csurfleet , ¿puede crear un ejemplo mínimo reproducible?

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