我很困惑,所以如果我使用SuperTest显然看起来它有自己的期望断言,那么我不需要担心使用Chai?或者当我需要Chai时,Supertest知道它并将其用作期望机制?
答案 0 :(得分:12)
SuperTest扩展了SuperAgent的request
对象以包含expect
功能。它不像Chai的expect
断言那样起作用,但可以用来断言http响应状态和标题,并且可以与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);