在 Windows 命令中转义双引号

我正在尝试使用 Jest 运行示例测试以验证我的 Google Cloud Function 是否正常工作,但我不断收到以下错误。


错误:命令失败:gcloud beta 函数调用 cf-1 --region europe-west1 --data '{"data":"eyJkYXRhIjoiMSJ9"}'

错误:(gcloud.beta.functions.call) [--data 的值无效]:不是有效的 JSON:无法解码 JSON 对象


我知道在 Windows 终端中运行命令时我可以用反斜杠转义双引号,但如何在 JavaScript 中执行此操作。


测试.js


const 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..'));

    });

});


慕斯王
浏览 273回答 1
1回答

慕勒3428872

尝试两次:data = {"data":"eyJkYXRhIjoiMSJ9"}console.log(  JSON.stringify(JSON.stringify(data)))  
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript