Với sinon, bạn có thể đặt một mô hình hoặc sơ khai xung quanh toàn bộ mô-đun. Ví dụ:giả sử mysql
mô-đun có chức năng query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
là đầu vào mà bạn mong đợi. rows
là đầu ra bạn mong đợi.
Khi lớp của bạn đang được kiểm tra bây giờ yêu cầu mysql và gọi truy vấn query
, nó sẽ được chặn và xác minh bởi sinon.
Trong phần kỳ vọng kiểm tra của bạn, bạn nên có:
mock.verify()
và trong quá trình chia nhỏ của bạn, bạn nên khôi phục mysql trở lại chức năng bình thường:
mock.restore()