2015-07-07 15 views
6

Tôi đang bối rối, vì vậy nếu tôi sử dụng SuperTest, có vẻ như nó có xác nhận mong đợi riêng của nó, thì tôi không cần phải lo lắng về việc sử dụng Chai? Hoặc khi tôi yêu cầu Chai, Supertest biết về nó và đang sử dụng nó như là cơ chế mong đợi?Mong đợi của SuperTest so với Chai.expect

+0

Tôi nhầm lẫn với câu hỏi ở đây là gì? Bạn có muốn hiểu các hoạt động bên trong của các khung kiểm tra và các thư viện xác nhận không? – Clarkie

+0

Khi bạn sử dụng SuperTest để thực hiện một yêu cầu và bạn bắt đầu khẳng định bằng cách sử dụng 'mong đợi' tôi giả định vì tôi đã xác định mong đợi thông qua thư viện xác nhận Chai đó là thư viện mà nó đang sử dụng. Nói cách khác SuperTest không có thư viện xác nhận riêng của mình phải không? Bạn phải nói với nó thư viện nào bằng cách thiết lập biến mong đợi như bạn làm trong Mocha và sau đó SuperTest có thể sử dụng biến đó bằng cách nào đó gắn thêm nó vào cuối hàm yêu cầu của nó gọi – PositiveGuy

+0

hmm chỉ cần xem lại tài liệu của SuperTest nó nói rằng nó sử dụng chức năng 'mong đợi' của SuperAgent, có vẻ như bởi vì nó nói 'xác nhận HTTP được thực hiện dễ dàng thông qua siêu đại lý.' Nhưng sau đó nó cũng nói 'SuperTest làm việc với bất kỳ khuôn khổ kiểm tra nào, đây là một ví dụ mà không sử dụng bất kỳ khung kiểm tra nào cả:' vì vậy tôi bị nhầm lẫn ở đây. – PositiveGuy

Trả lời

10

SuperTest mở rộng đối tượng request của SuperAgent để bao gồm hàm expect. Nó không hoạt động giống như xác nhận của expect của Chai, nhưng có thể được sử dụng để xác nhận trạng thái phản hồi http và các tiêu đề, và có thể được trộn lẫn với Chai expect của Chai.

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); 
+0

thx. Chỉ cần tự hỏi những gì tình hình bạn muốn trong một thử nghiệm BDD khẳng định bằng cách sử dụng 'kỳ vọng' SuperTest và sau đó ngay sau khi sử dụng một Chai 'mong đợi'. Tôi có nghĩa là một khi bạn mong đợi một cái gì đó và nó là sự thật, kiểm tra BDD của bạn đi ... Tôi chỉ không thấy một nhu cầu cho Chai mong đợi sau đó khi thử nghiệm tích hợp yêu cầu/phản ứng trong BDD của bạn hoặc các bài kiểm tra tích hợp khác ... – PositiveGuy

Các vấn đề liên quan