Ошибка синтаксического анализа cucumber-js при запуске на Jenkins - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь настроить шаг конвейера jenkins для запуска некоторых тестовых сценариев с использованием cucumber-js, но я получаю сообщение об ошибке из сборки следующим образом:

Error: Parse error in 'e2e/definitions/login.js': (1:1): expected:
#EOF, #Language, #TagLine, #FeatureLine, #Comment, #Empty, got 'const { Given, When, Then } = require('cucumber');'

Команда, выполняемая на этапе конвейера, выглядит следующим образом:

cucumber-js e2e/features/**/*.feature --require e2e/**/*.js

Строки открытия файла login.js, на который ссылается ошибка:

const { Given, When, Then } = require('cucumber');
const { Selector } = require('testcafe');

Мне интересно, имеет ли это какое-то отношение к различиям версий nodejs, так как я использую 8.11.2 на своей машине и не вижу этих ошибок, на Jenkins мы работаем 10.5.0

Кто-нибудь знает, в чем может быть проблема, и, пожалуйста, укажите мне правильное направление?

Спасибо

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Ошибка, которую вы получаете, это ошибка разбора Gherkin, поэтому я думаю, что cucumber рассматривает ваш файл определения шага как файл Gherkin (файл возможностей). Я бы проверил, какую версию cucumber-js вы используете локально, по сравнению с версией, которую вы используете в CI. Если версии отличаются, возможно, в вашем CI отсутствует ошибка или используется другая версия CLI.

Я также настоятельно рекомендую настроить вашу локальную среду так же, как ваш CI (та же версия узла, закрепленные версии для ваших зависимостей npm), это избавило меня от многих проблем.

0 голосов
/ 03 сентября 2018

Скорее всего, у вас возникла эта проблема, потому что шаблон глобуса, указанный после шаблона --require, не разрешается в реальных именах файлов, но в вашем Jenkins это делает. Попробуйте обернуть e2e/**/*.js в двойные кавычки: cucumber-js e2e/features/**/*.feature --require "e2e/**/*.js"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...