0

使用 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)
4

0 回答 0