chai - test api - 验证多个状态

chai - test api - validate multiple statuses

我的api有三个预期状态(200、401、403),其中任何一个都可以通过测试。 如果识别出以上所列以外的状态,则必须通过测试。

我发现 chai 在单元测试中只验证一个状态(如下所示)

res.should.have.status(200)

res.should.have.status(200)

但我希望得到如下声明或任何其他等效声明。

res.should.have.status([200, 401, 403]);

请帮忙!

您可以在常规 chai 的帮助下测试状态是否为预期状态之一 expect:

const expect = require('chai').expect;
expect(res.status).to.be.oneOf([200, 401, 403]);

很少在单个测试中检查多个状态代码,因为测试只是一个原子用例,您 运行 在您的应用程序上等待特定输出,我的方法是为用例创建一个套件和 3 个不同的测试用例来测试每个场景,您可以在其中接收任何这些状态代码(可能还有特定的有效负载)。

祝你好运。