摩卡期待200或201

时间:2017-09-15 14:44:34

标签: node.js mocha

我正在学习mocha和节点js。

我正在测试put HTTP请求,该请求可以充当post。所以我得到200或201回复。两个都对我好。我怎么用mocha做到这一点?

    request(localhost)
        .put(`/stuff`)
        .set('Authorization', authHeader)
        .send(serviceReq)
        .expect(200||201, done);
});

以上代码不起作用,我如何在状态代码中使用mocha or

1 个答案:

答案 0 :(得分:3)

supertest(我假设您正在使用)并没有"或"操作,但您可以通过传递一个可以检查状态代码的函数轻松创建自定义期望:

request(localhost)
    .put(`/stuff`)
    .set('Authorization', authHeader)
    .send(serviceReq)
    .expect(function(res) {
      if (res.statusCode !== 200 && res.statusCode !== 201) {
        throw Error('unexpected status code: ' + res.statusCode);
      }
    })

此处记录:https://www.npmjs.com/package/supertest#expectfunctionres-