Dzięki sinonowi możesz umieścić próbkę lub skrót wokół całego modułu. Załóżmy na przykład, że mysql
moduł posiada funkcję query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
są danymi wejściowymi, których oczekujesz. rows
to oczekiwany wynik.
Gdy testowana klasa wymaga teraz mysql i wywołuje query
metody, zostanie przechwycony i zweryfikowany przez sinon.
W sekcji oczekiwań związanych z testem powinieneś mieć:
mock.verify()
i w swoim rozrzuceniu powinieneś przywrócić mysql z powrotem do normalnej funkcjonalności:
mock.restore()