невозможно разрешить путь к файлам поддержки огурцов относительно проекта

Я использую Cucumber для выполнения некоторых тестов e2e, но мне не нужны файлы поддержки с относительным путем к проекту:

node_modules
cucumber
├── features
├── step_definitions

Я запускаю тест с помощью этой команды

./node_modules/.bin/cucumber-js cucumber/features --require cucumber/step_definitions

Cucumber может отображать файлы в cucumber/step_definitions, но не может требовать их: Error: Cannot find module 'cucumber/step_definitions/stepFile.js'

Когда я изменил строку 163 в /node_modules/cucumber/lib/cli/index.js:

return require(codePath);

by:

return require(process.cwd()+'/'+codePath);

все работает правильно. Может ли кто-нибудь сказать мне, что мне здесь не хватает?

Спасибо


person cartman    schedule 10.09.2018    source источник


Ответы (1)


Я наконец решил свою проблему: проблема связана с версией зависимости glob в cucumber-js. При изменении его версии на 7.1.2 в package-lock пути разрешаются, как и ожидалось:

"glob": {
  "version": "7.1.2",
  "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
  "dev": true,
  "optional": true,
  "requires": {
    "fs.realpath": "1.0.0",
    "inflight": "1.0.6",
    "inherits": "2.0.3",
    "minimatch": "3.0.4",
    "once": "1.4.0",
    "path-is-absolute": "1.0.1"
  }
}
person cartman    schedule 02.12.2018