首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“JSON输入的意外结束”,同时执行令人作呕的合并

“JSON输入的意外结束”,同时执行令人作呕的合并
EN

Stack Overflow用户
提问于 2021-09-21 16:41:20
回答 4查看 1.7K关注 0票数 4

我试着按照 post中的建议删除命令中的空格。我还试图按照mochawesome.json post中的建议重新编码。但没起作用。

您可以在gdrive上找到我的json文件这里

当我试图合并它们时,我会得到以下错误:

代码语言:javascript
复制
npx mochawesome-merge cypress/reports/test/test/*.json>cypress/reports/test/test/merged_report.json 
Debugger attached.
Debugger attached.
ERROR: Failed to merge reports

SyntaxError: cypress/reports/test/test/merged_report.json: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at F:\myproj-testing\node_modules\mochawesome-merge\node_modules\jsonfile\index.js:33:18
    at F:\myproj-testing\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:63:3)
Waiting for the debugger to disconnect...
Waiting for the debugger to disconnect...

我在Windows 10上。以下是与节点相关的版本:

代码语言:javascript
复制
>node --version
v14.16.0

> npm --version
Debugger attached.
6.14.11

package.json

代码语言:javascript
复制
{
  "name": "myproj-testing",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "merge":"mochawesome-merge cypress/reports/*.json>cypress/reports/merged_report.json",
    "generate_mochawesome_report": "marge cypress/reports/merged_report.json --reportDir ./ --inline",
    "final_report": "npm run merge && npm run generate_mochawesome_report",
    "generate_report": "python cypress/utils/merge.py && npm run generate_mochawesome_report"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "cypress": "^8.3.0",
    "cypress-file-upload": "^5.0.8"
  },
  "devDependencies": {
    "mocha": "^9.1.1",
    "mochawesome": "^6.2.2",
    "mochawesome-merge": "^4.2.0"
  }
}

更新

我试着只运行mochawesome-merge cypress/reports/*.json,它在控制台上打印了合并的json。因此,我尝试先将json字符串合并到.txt文件,然后将.txt文件重命名为.json文件,最后执行marge。奇怪的是它开始工作了..。下面是我更新的package.json脚本:

代码语言:javascript
复制
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "merge":"mochawesome-merge cypress/reports/*.json>cypress/reports/merged_report.json",
    "mergetotxt":"mochawesome-merge cypress/reports/*.json > cypress/reports/merged_report.txt",

    "generate_mochawesome_report": "marge cypress/reports/merged_report.json --reportDir ./ --inline",

    "final_report": "npm run merge && npm run generate_mochawesome_report",
    "final_report2": "npm run mergetotxt && rename cypress\\reports\\merged_report.txt merged_report.json && npm run generate_mochawesome_report",

    "generate_report": "python cypress/utils/merge.py && npm run generate_mochawesome_report"
  }

注意以下两个新脚本:

代码语言:javascript
复制
"mergetotxt":"mochawesome-merge cypress/reports/*.json > cypress/reports/merged_report.txt",
"final_report2": "npm run mergetotxt && rename cypress\\reports\\merged_report.txt merged_report.json && npm run generate_mochawesome_report",

运行npm run final_report2将生成所需的报告。

EN

回答 4

Stack Overflow用户

发布于 2021-09-27 10:43:07

问题是这条线:

代码语言:javascript
复制
"merge":"mochawesome-merge cypress/reports/*.json>cypress/reports/merged_report.json"

不能为结果json使用路径。

代码语言:javascript
复制
"merge":"mochawesome-merge cypress/reports/*.json > merged_report.json"

应起作用

票数 0
EN

Stack Overflow用户

发布于 2021-10-05 13:08:21

请试一下“合并报告”:“mochawesome/reports/*..json> merged_report.txt > merged_report.json",

这对我有用。

票数 0
EN

Stack Overflow用户

发布于 2021-11-29 07:35:55

代码语言:javascript
复制
"merge":"mochawesome-merge cypress/reports/*.json>cypress/reports/output.json",
"generate_mochawesome_report": "marge cypress/reports/output.json --reportDir ./ --inline",
"final_report": "npm run merge && npm run generate_mochawesome_report"

这样试试,这应该管用.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69272564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档