使用 mocha 和 chai-http 为 post 端点运行集成测试。但是为了上帝的爱,不断收到 SyntaxError: Unexpected token A in JSON at position 0. 不确定下面的代码有什么问题
const chai = require('chai');
const chaiHttp = require('chai-http');
chai.use(chaiHttp);
const expect = chai.expect;
describe('Tests Hello World', function () {
this.timeout(10000);
it('verifies successful atp updates', async () => {
// const data = require('../test-data/atp/atp-post.json');
const data = {"atp":[{"skuId":"6789","site":"dc1","qty":25},{"skuId":"6789","site":"dc2","qty":32}]};
console.log(`data is ${JSON.stringify(data)}`);
const result = await chai.request('http://localhost:3000')
.post('/v1/atp')
.send(data);
console.log(`result is ${JSON.stringify(result)}`);
expect(result.statusCode).to.equal(200);
// expect(result.body).to.be.an('object');
// expect(result.body.message).to.be.a('string');
// expect(result.body.message).to.be.eq("Hello World!");
});
});
错误是
1) Tests Hello World
verifies successful atp updates:
SyntaxError: Unexpected token A in JSON at position 0
at JSON.parse (<anonymous>)
at IncomingMessage.<anonymous> (node_modules/superagent/lib/node/parsers/json.js:11:35)
at endReadableNT (_stream_readable.js:1220:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)