2013-02-21 33 views
21

Tôi đã xem các ví dụ trên web mà mọi người sử dụng jasmine cùng với sinon. Tuy nhiên, hoa nhài đã hỗ trợ cho gián điệp (mà tôi hiểu là những gì Sinon làm). Vì vậy, câu hỏi đặt ra là, Sinon vẫn hữu ích khi sử dụng Jasmine? Nếu Sinon có ích gì thì chính xác nó là một bổ sung tốt cho hoa nhài?Hoa nhài có cần sinon.js không?

Chúc mừng

Trả lời

15

Bạn không cần Sinon làm việc với Jasmine. Nhưng Sinon spy/mock/stubs thuận tiện hơn trong một số trường hợp. Ngoài ra còn có một lỗi nhỏ trong mocking setTimeout trong Jasmine, mà làm việc như mong đợi với sinon.

+0

chúng ta có cần phải thực hiện yêu cầu ('sinon') để truy cập vào trang thử nghiệm của chúng tôi không? – Winnemucca

+1

Khi sử dụng gián điệp của sinon và mocks thay vì ghi chú của Jasmine trong tâm trí bạn sẽ không nhận được dấu vết ngăn xếp thông tin của Jasmine mà đi kèm với một "mong đợi (gián điệp) thất bại. ToHaveBeenCalledWith (giá trị)' cho bạn biết những gì các điệp viên đã được gọi là _actually_. Với tội lỗi, sự kỳ vọng âm thầm không thành công 'mong đợi sai lầm là đúng' – glcheetham

11

Tôi sử dụng Sinon với Jasmine cho khả năng của nó là fakeServer. Sinon cho phép tôi dễ dàng thử các yêu cầu AJAX HTTP mà không dựa vào trạng thái máy chủ của tôi. Sinon cũng cung cấp chức năng mô phỏng http cấp thấp hơn cho khi bạn thực sự cần tinh chỉnh các dịch vụ giả mạo của mình.

7

Bạn có thể sử dụng SinonJS làm tiện ích mở rộng cho Jasmine. Sinon có một API rất tốt đẹp cho một máy chủ giả lập mà là khá tiện dụng nếu bạn muốn kiểm tra các cuộc gọi REST mà không có một phụ trợ thực sự. Ngoài ra còn có một tài liệu tốt đẹp cho thấy sự kết hợp của SinonJS with Jasmine.

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