washingon
washingon

Reputation: 1121

has anyone else had cypress.io test start failing as of Feb 18, 2019?

With no changes to the tests or tested environment, cypress.io tests that ran successfully up until Feb 18, 2019 are now failing with error.

Cypress.io is version 3.1.5

The tests are run by jenkinsfile as:

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

The error is:

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

0:9)

Upvotes: 2

Views: 731

Answers (2)

YOU54F
YOU54F

Reputation: 91

Washingons comment with regards to the glob problem is incorrect. Mocha 6 requires a stat collector to be instantiated.

I’ve now updated, tested and released updated modules that fix this with mocha 6, but also retains backwards compatibility with mocha 5 and earlier versions.

https://www.npmjs.com/package/cypress-multi-reporters https://www.npmjs.com/package/mocha-junit-reporters

Example against Mocha 5 Example against Mocha 6

the changes required are minimal

npm i mocha-junit-reporters

npm i cypress-multi-reporters

in 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
  }
} 

in cypress.json

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

See https://github.com/YOU54F/cypress-docker-typescript/pull/22/files

Hopefully the PR's will be merged in the source repo's soon but for now, enjoy

Upvotes: 1

washingon
washingon

Reputation: 1121

[email protected] was released on 2019-02-18. By downgrading mocha from to last release [email protected], the problem is alleviated. With [email protected], the correct set of cypress.io tests are run as specified in --spec.

Something in [email protected] is creating test spec glob problem for cypress.io with mocha reporting.

Upvotes: 4

Related Questions