在 windows 命令中转义双引号
Escaping double quotes in windows commands
我正在尝试 运行 使用 Jest 进行示例测试以验证我的 Google 云功能是否正常工作,但我不断收到以下错误。
Error: Command failed: gcloud beta functions call cf-1 --region europe-west1 --data '{"data":"eyJkYXRhIjoiMSJ9"}'
ERROR: (gcloud.beta.functions.call) Invalid value for [--data]: Is not a valid JSON: No JSON object could be decoded
我知道当 运行 在 windows 终端中执行命令时,我可以使用反斜杠转义双引号,但如何在 JavaScript.
中执行此操作
test.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..'));
});
});
尝试两次:
data = {"data":"eyJkYXRhIjoiMSJ9"}
console.log(
JSON.stringify(JSON.stringify(data))
)
我正在尝试 运行 使用 Jest 进行示例测试以验证我的 Google 云功能是否正常工作,但我不断收到以下错误。
Error: Command failed: gcloud beta functions call cf-1 --region europe-west1 --data '{"data":"eyJkYXRhIjoiMSJ9"}'
ERROR: (gcloud.beta.functions.call) Invalid value for [--data]: Is not a valid JSON: No JSON object could be decoded
我知道当 运行 在 windows 终端中执行命令时,我可以使用反斜杠转义双引号,但如何在 JavaScript.
中执行此操作test.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..'));
});
});
尝试两次:
data = {"data":"eyJkYXRhIjoiMSJ9"}
console.log(
JSON.stringify(JSON.stringify(data))
)