Cucumber-js: O argumento "de" deve ser do tipo string. Tipo recebido indefinido

Criado em 10 jun. 2020  ·  6Comentários  ·  Fonte: cucumber/cucumber-js

Estou tentando usar etapas que escrevi e publiquei no npm
Aqui está o erro que tenho:

> 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)

Descobri que se trata de this.cwd que não está definido. O que posso fazer?
image

Se eu copiar e colar minhas etapas no diretório raiz (onde está o package.json), não tenho nenhum erro. Portanto, o problema é: eu não posso --require from node_modules.

Comentários muito úteis

alguma resolução para este problema? Estou recebendo este erro com o Pepino 7

Todos 6 comentários

você tentou a partir de node_modules em seu diretório local?

alguma resolução para este problema? Estou recebendo este erro com o Pepino 7

@stefdelec @VivekLande provavelmente está relacionado a qualquer um

  • seu pacote de etapas dependendo de uma versão diferente do pepino do projeto hospedeiro
  • trabalhando localmente com seu pacote de etapas npm link 'd

Em ambos os casos, você pode acabar com duas instâncias de cucumber-js diferentes em tempo de execução, o que pode causar isso (você pode verificar isso olhando em sua hierarquia node_modules ).

Estou trabalhando para documentar isso no # 1540 - dê uma olhada na solução alternativa e veja se funciona para você?

Obrigado @davidjgoss , sou capaz de resolver o problema com a solução fornecida por você.

Esta solução alternativa não está funcionando para mim. Eu definitivamente não tenho pepino instalado em outro lugar. Estou nisso há horas e não estou chegando a lugar nenhum. Estas são as dependências do meu pacote json:

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

Eu procurei minha pasta node_modules e pepino não está lá várias vezes. Não tenho ideia para onde ir a seguir

@csurfleet, você pode criar um exemplo reproduzível mínimo?

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

hdorgeval picture hdorgeval  ·  3Comentários

NoNameProvided picture NoNameProvided  ·  5Comentários

kozhevnikov picture kozhevnikov  ·  6Comentários

edgarechm picture edgarechm  ·  5Comentários

pellekrogholt picture pellekrogholt  ·  3Comentários