我正在尝试使用 Jest 运行示例测试以验证我的 Google Cloud Function 是否正常工作,但我不断收到以下错误。错误:命令失败:gcloud beta 函数调用 cf-1 --region europe-west1 --data '{"data":"eyJkYXRhIjoiMSJ9"}'错误:(gcloud.beta.functions.call) [--data 的值无效]:不是有效的 JSON:无法解码 JSON 对象我知道在 Windows 终端中运行命令时我可以用反斜杠转义双引号,但如何在 JavaScript 中执行此操作。测试.jsconst childProcess = require('child_process');describe('Test CF', () => { it('print outs the error message when received JSON is blank', done => { const msg = { data: '1' }; const encodedMsg = Buffer.from(JSON.stringify(msg)).toString('base64'); const data = JSON.stringify({ data: encodedMsg }); const executeResultOutput = childProcess.execSync(`gcloud beta functions call cf-1 --region europe-west1 --data '${data}'`).toString(); const logs = childProcess .execSync( `gcloud functions logs read cf-1 --region europe-west1 --execution-id ${executionIdObj}`, ) .toString(); expect(logs).toEqual(expect.stringContaining('Error..')); });});
1 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
尝试两次:
data = {"data":"eyJkYXRhIjoiMSJ9"}
console.log(
JSON.stringify(JSON.stringify(data))
)
添加回答
举报
0/150
提交
取消