Com o sinon, você pode colocar uma simulação ou esboço em torno de um módulo inteiro. Por exemplo, suponha que o
mysql
módulo tem uma função query
:var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
são a entrada que você espera. rows
é a saída que você espera. Quando sua classe em teste agora requer mysql e chama a
query
método, ele será interceptado e verificado pela sinon. Na sua seção de expectativa de teste, você deve ter:
mock.verify()
e em sua desmontagem você deve restaurar o mysql de volta à funcionalidade normal:
mock.restore()