SuperTest 的期望与 Chai.expect

SuperTest's expect vs. Chai.expect

我很困惑,所以如果我使用 SuperTest 显然看起来它有自己的 expect 断言,那么我不需要担心使用 Chai 吗?或者当我需要 Chai 时,Supertest 知道它并将它用作 expect 机制?

SuperTest 扩展了 SuperAgent 的 request object 以包含 expect 功能。它不像 Chai 的 expect 断言那样工作,但可以用于断言 http 响应状态和 headers,并且可以与 Chai 的 expect.

混合使用
request(app).
get('/').
expect(200).    // request.expect, is status code 200?
expect('Content-Type', /json/).    // request.expect, does content-type match regex /json/?
expect(function(res){  // request.expect, does this user-provided function throw?
  // user-provided function can include Chai assertions
  expect(res.body).to.exist;
  expect(res.body).to.have.property('status');
}).
end(done);