我已经与节点,柏树,摩卡,mochawesome和mochawesome合并一个测试框架,如下面这个GitHub库:
在我的package.json中,我有两个脚本
`"scripts": {
"cy": "./node_modules/.bin/cypress open",
"cy_test": "node cypress.js"
},`
如果我运行,npm run cy_test
它可以在无头状态下正常运行,但是如果运行,则会出现npm run cy
以下错误:
但是,如果我从项目中删除cypress.js,则它会按预期工作。
cypress.js
const cypress = require('cypress')
const marge = require('mochawesome-report-generator')
const { merge } = require('mochawesome-merge')
const currRunTimestamp = getTimeStamp();
const mergedReport = {
reportDir: 'mochawesome-report',
}
const finalReport = {
reportDir: 'reports',
}
cypress.run({
reporter: 'mochawesome',
reporterOptions: {
reportDir: 'mochawesome-report',
overwrite: false,
html: true,
json: true
}
}).then(
() => {
generateReport()
},
error => {
generateReport()
console.error(error)
process.exit(1)
}
)
function generateReport(options) {
return merge(mergedReport).then(report => marge.create(report, finalReport))
}
我认为这是npm
Windows上与文件名混淆的问题,因为npm
它试图将脚本作为二进制而不是从中获取./node_modules/.bin
。
因此,我建议,如果可以的话,请尝试将的名称更改为cypress.js
以外的其他名称cypress
。我认为这可以解决您的问题。
否则,作为解决方法,请.JS
从PATHEXT
环境变量中删除并重新启动运行脚本的进程,包括您的IDE(如果适用)。
希望它能工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句