Cucumber-js: Argumen "dari" harus bertipe string. Jenis yang diterima tidak ditentukan

Dibuat pada 10 Jun 2020  ·  6Komentar  ·  Sumber: cucumber/cucumber-js

Saya mencoba menggunakan langkah-langkah yang saya tulis dan publikasikan di npm
Inilah kesalahan yang saya miliki:

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

Saya telah menemukan bahwa ini adalah this.cwd yang tidak terdefinisi. Apa yang dapat saya?
image

Jika saya menyalin tempel langkah-langkah saya di direktori root (di mana package.json berada), saya tidak memiliki kesalahan. Jadi masalahnya adalah: Saya tidak bisa tidak --require dari node_modules.

Komentar yang paling membantu

ada solusi untuk masalah ini? Saya mendapatkan kesalahan ini dengan Mentimun 7

Semua 6 komentar

apakah Anda mencoba dari node_modules di direktori lokal Anda?

ada solusi untuk masalah ini? Saya mendapatkan kesalahan ini dengan Mentimun 7

@stefdelec @VivekLande ini kemungkinan terkait dengan keduanya

  • paket langkah Anda tergantung pada versi mentimun yang berbeda dari proyek host Anda
  • bekerja secara lokal dengan paket langkah Anda npm link 'd

Dalam kedua kasus Anda dapat berakhir dengan dua instance mentimun-js yang berbeda saat runtime yang dapat menyebabkan ini (Anda dapat memeriksa ini dengan melihat hierarki node_modules ).

Saya sedang mendokumentasikan ini di #1540 - lihat solusinya dan lihat apakah itu berhasil untuk Anda?

Terima kasih @davidjgoss , saya dapat menyelesaikan masalah dengan solusi yang Anda berikan.

Solusi ini tidak bekerja untuk saya. Saya pasti tidak memasang mentimun di tempat lain. Saya sudah melakukan ini selama berjam-jam dan saya tidak mendapatkan apa-apa. Ini adalah dependensi json paket saya:

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

Saya telah mencari folder node_modules saya dan mentimun tidak ada di sana beberapa kali. Saya tidak tahu ke mana harus pergi selanjutnya

@csurfleet bisakah Anda membuat contoh minimal yang dapat direproduksi?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat