express api 断言未正确执行

express api assertion is not executing correctly

我有一个测试用例如下

describe('Readings', () => {
describe('GET/ Readings', () => {
    it('It Should Get 10 Readings', (done) => {
        chai.request(server)
            .get('/')
            .end((err, res) => {
                (res).should.have.status(200);
                console.log(res);
                ([{ "_id": "25.12.2019, 2:20:55 PM", "date": "25.12.2019", "kilometers": -77.7, "__v": 0 }]).should.be.an('array');
                (res.body).should.be.an('array');
                (res.body.length).should.be.eql(1);
                done();
            });
    });
});

当我用 mocha 执行这个测试用例时,console.log 之后的语句断言正确,但是 res.body 的相同输出没有被断言为数组。 低于错误

Uncaught AssertionError: expected '[{"_id":"25.12.2019, 2:20:55 PM","date":"25.12.2019","kilometers":-77.7,"__v":0}]' to be an array
  at chai.request.get.end (test\index-test.js:16:42)
  at Test.Request.callback (node_modules\superagent\lib\node\index.js:716:12)
  at parser (node_modules\superagent\lib\node\index.js:916:18)
  at IncomingMessage.res.on (node_modules\superagent\lib\node\parsers\json.js:19:7)
  at endReadableNT (_stream_readable.js:1145:12)
  at process._tickCallback (internal/process/next_tick.js:63:19)

我是不是做错了什么?我刚开始为 Express REST API.

编写测试用例

改变

res.send(200).json(data);

res.json(data);

对我有用,因为 res.json() 默认响应 200。