0

我正在使用 supertest 和 mocha 测试我的 express rest api。有这个测试用例我想用 supertest:expect(function(res){ }) 的方法检查返回的响应体。但是我遇到了一个我不知道为什么的错误:

Error: expected [Function] response body, got '{"name":"Aaron Shen","_id":"
530ed1ce92788ed031022d8c","__v":0,"active":true}'

有人知道如何解决吗?下面是我的测试代码:

it('should return correct player',function(done){

    var url = '/api/players/' + pid;
    request(app)
        .get(url)
        .expect(200)
        .expect(function(res){
            res.body.should.have.property('name');
        })
        .end(done);

});
4

1 回答 1

2

在 supertest 的 0.9.0 版本中添加了传递函数的功能.expect(),目前是最新版本。

这些是有问题的提交:https ://github.com/visionmedia/supertest/commit/00dad1bf84896f8a610b028dcbd81ce2e53779fb,https : //github.com/visionmedia/supertest/commit/a8e5596cc94e97e2b937792853c498cae4ca6764

只需更新supertest软件包,它应该可以工作。

于 2014-03-01T19:19:49.413 回答