Med sinon kan du sætte en mock eller stub rundt om et helt modul. Antag for eksempel mysql modul har en funktion query :
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString , queryParams er det input, du forventer. rows er det output, du forventer.
Når din klasse under test nu kræver mysql og kalder query metode, vil den blive opsnappet og verificeret af sinon.
I dit testforventningsafsnit skal du have:
mock.verify()
og i din deardown bør du gendanne mysql tilbage til normal funktionalitet:
mock.restore()