Jenkins 截至2019年2月18日,是否有其他人的cypress.io测试开始失败?

Jenkins 截至2019年2月18日,是否有其他人的cypress.io测试开始失败?,jenkins,mocha.js,cypress,Jenkins,Mocha.js,Cypress,由于没有对测试或测试环境进行任何更改,在2019年2月18日之前成功运行的cypress.io测试现在因错误而失败 io是版本3.1.5 这些测试由jenkinsfile以以下方式运行: sh "npx cypress run --browser chrome --reporter mocha-multi-reporters --reporter-options configFile=config-v1-smoke.json --spec \"cypress/integration/sm

由于没有对测试或测试环境进行任何更改,在2019年2月18日之前成功运行的cypress.io测试现在因错误而失败

io是版本3.1.5

这些测试由jenkinsfile以以下方式运行:

sh "npx cypress run --browser chrome  --reporter mocha-multi-reporters   --reporter-options configFile=config-v1-smoke.json  --spec \"cypress/integration/smoke/*.js\"" 
错误是:

TypeError: Cannot read property 'passes' of undefined
    at Spec.Base.epilogue (/var/jenkins_home/workspace/svn_ci/node_modules/mocha/lib/reporters/base.js:318:25)
    at Object.onceWrapper (events.js:316:30)
    at emitOne (events.js:120:20)
    at Runner.emit (events.js:210:7)
    at Reporter.emit (/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/reporter.js:239:55)
    at Object.server.startWebsockets.onMocha (/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/project.js:296:22)
    at Socket.<anonymous> (/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/socket.js:237:36)
    at emitTwo (events.js:125:13)
    at Socket.emit (events.js:213:7)
    at /var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/socket/node_modules/socket.io/lib/socket.js:503:12
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

TypeError: Cannot read property 'passes' of undefined
    at Spec.Base.epilogue (/var/jenkins_home/workspace/svn_ci/node_modules/mocha/lib/reporters/base.js:318:25)
    at Object.onceWrapper (events.js:316:30)
    at emitOne (events.js:120:20)
    at Runner.emit (events.js:210:7)
    at Reporter.emit (/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/reporter.js:239:55)
    at Object.server.startWebsockets.onMocha (/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/project.js:296:22)
    at Socket.<anonymous> (/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/socket.js:237:36)
    at emitTwo (events.js:125:13)
    at Socket.emit (events.js:213:7)
    at /var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/socket/node_modules/socket.io/lib/socket.js:503:12
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:18
TypeError:无法读取未定义的属性“passes”
在Spec.Base.epilogue(/var/jenkins_home/workspace/svn_ci/node_modules/mocha/lib/reporters/Base.js:318:25)
在Object.onceWrapper(events.js:316:30)
在emitOne(events.js:120:20)
在Runner.emit(events.js:210:7)
在Reporter.emit(/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/Reporter.js:239:55)
位于Object.server.startWebsockets.onMocha(/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/project.js:296:22)
在插座上。(/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/socket.js:237:36)
两次(events.js:125:13)
在Socket.emit(events.js:213:7)
在/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/socket/node_modules/socket.io/lib/socket.js:503:12
at _combinedTickCallback(内部/流程/下一步_tick.js:131:7)
在进程中。_tick回调(内部/process/next_tick.js:180:9)
TypeError:无法读取未定义的属性“passes”
在Spec.Base.epilogue(/var/jenkins_home/workspace/svn_ci/node_modules/mocha/lib/reporters/Base.js:318:25)
在Object.onceWrapper(events.js:316:30)
在emitOne(events.js:120:20)
在Runner.emit(events.js:210:7)
在Reporter.emit(/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/Reporter.js:239:55)
位于Object.server.startWebsockets.onMocha(/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/project.js:296:22)
在插座上。(/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/server/lib/socket.js:237:36)
两次(events.js:125:13)
在Socket.emit(events.js:213:7)
在/var/jenkins_home/.cache/Cypress/3.1.5/Cypress/resources/app/packages/socket/node_modules/socket.io/lib/socket.js:503:12
at _combinedTickCallback(内部/流程/下一步_tick.js:131:7)
在进程中。_tick回调(内部/process/next_tick.js:18

0:9)

mocha@6.0.0于2019年2月18日发布。 将摩卡咖啡从一个版本降级到最后一个版本mocha@5.2.0,问题得到缓解。具有mocha@5.2.0,将按照--spec中的规定运行正确的cypress.io测试集


有什么mocha@6.0.0正在使用mocha reporting为cypress.io创建测试规范glob问题。

Washingons关于glob问题的评论不正确。Mocha6需要实例化一个stat收集器

我现在已经更新、测试并发布了更新的模块,用mocha 6解决了这个问题,但也保留了与mocha 5和更早版本的向后兼容性

所需的更改很少

npm i摩卡青年报记者

npm i cypress多记者

在reporterOpts.json中

{
  "reporterEnabled": "mocha-junit-reporters, mochawesome",
  "mochaJunitReportersReporterOptions": {
    "mochaFile": "cypress/reports/junit/test_results[hash].xml",
    "toConsole": false
  },
  "mochawesomeReporterOptions": {
    "reportDir": "cypress/reports/mocha",
    "quiet": true,
    "overwrite": false,
    "html": false,
    "json": true
  }
} 
在cypress.json中

{
  ...
  "reporter": "cypress-multi-reporters",
  "reporterOptions": {
    "configFile": "reporterOpts.json"
  }


希望PR很快会合并到源回购中,但现在,请欣赏

我注意到,当我运行测试时,--spec“xxxxxx*.js”的行为与过去一样。它没有正确的测试方法。它正在全球化所有的测试。我的补丁现在已经被合并到mocha junit reporter now v1.23.0中