Със sinon можете да поставите макет или заглушка около цял модул. Например, да предположим, че mysql
модулът има функция query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
са входът, който очаквате. rows
е резултатът, който очаквате.
Когато вашият тестов клас сега изисква mysql и извиква query
метод, той ще бъде прихванат и проверен от sinon.
В раздела за очаквания от теста трябва да имате:
mock.verify()
и при разрушаването трябва да възстановите mysql обратно към нормалната функционалност:
mock.restore()