我正在尝试设置 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

有谁知道问题可能是什么,并请指出我正确的方向?

谢谢

最佳答案

您可能会遇到这个问题,因为在 --require 模式之后指定的 glob 模式没有解析为真实的文件名,但在您的 Jenkins 上确实如此。尝试将 e2e/**/*.js 用双引号括起来:cucumber-js e2e/features/**/*.feature --require "e2e/**/*.js"

关于node.js - 在Jenkins上运行时 cucumber js解析错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52150612/

10-16 22:49