У меня проблема, когда я могу запускать отдельные тесты nightwatchjs только в том случае, если использую абсолютный путь тестового сценария.

Так, например, если я запускаю свой тест из следующей папки;

/Users/darrenharley/Documents/Git/uk-content-parkers/Tests/Functional/tests 

со следующим;

 npm run test:live /Users/darrenharley/Documents/Git/uk-content-parkers/Tests/Functional/tests/current_functionality/gamAds/PAR-5139.js 

Работает правильно.

Однако мне нужно запустить этот тест, не используя мою локальную файловую структуру (поскольку в конечном итоге она будет запускаться через сборку Jenkins, поэтому я не могу ее использовать).

Но если я запускаю тест со следующим;

 npm run test:live ./current_functionality/gamAds/PAR-5139.js 

происходит сбой со следующей ошибкой;

Ошибка: ENOENT: такого файла или каталога нет, stat ‘./current_functionality/gamAds/PAR-5139.js’

Я делаю что-то явно не так здесь?

Если это поможет, в моем файле nightwatch.conf.js у меня есть это;

  src_folders: [ 'tests/', ], 

и в моем файле package.json у меня есть это;

 "test:live": "nightwatch --config config/nightwatch.conf.js --env live --suiteRetries 3", 

Любая помощь будет принята с благодарностью, так как это сводит с ума, потому что это кажется таким простым делом.

Большое спасибо.

Заданный путь — проблема. Путь должен быть по отношению к корню . В случае относительных путей они выбираются относительно корня (где package.json находится на верхнем уровне).

Если структура каталогов:

 root --tests ----PAR-5139.js ---- --src --config ----nightwatch.config.json --package.json 

Команда будет npm run test:live ./tests/PAR-5139.js независимо от того, запускаете ли вы команду из папки npm run test:live ./tests/PAR-5139.js или корневой папки.

В вашем случае команда запускается из папки тестов, и путь также указывается относительно папки тестов, но команда ищет этот файл относительно корня, а не папки тестов.

Надеюсь, это поможет. Возврат к любым сомнениям.