Mit Sinon können Sie ein ganzes Modul mit einem Mock oder Stub versehen. Nehmen wir zum Beispiel mysql
an Modul hat eine Funktion query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
sind die Eingaben, die Sie erwarten. rows
ist die erwartete Ausgabe.
Wenn Ihre zu testende Klasse nun mysql benötigt und die query
aufruft Methode, wird es von sinon abgefangen und verifiziert.
In Ihrem Testerwartungsabschnitt sollten Sie Folgendes haben:
mock.verify()
und in Ihrem Teardown sollten Sie mysql wieder auf die normale Funktionalität zurücksetzen:
mock.restore()