Med sinon kan du sätta en mock eller stubbe runt en hel modul. Anta till exempel att mysql
modulen har en funktion query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
är den input du förväntar dig. rows
är resultatet du förväntar dig.
När din klass under test nu kräver mysql och anropar query
metod, kommer den att fångas upp och verifieras av sinon.
I avsnittet om testförväntningar bör du ha:
mock.verify()
och i din nedbrytning bör du återställa mysql till normal funktionalitet:
mock.restore()