Dengan sinon, Anda dapat menempatkan tiruan atau rintisan di sekitar seluruh modul. Misalnya, misalkan mysql
modul memiliki fungsi query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
adalah masukan yang Anda harapkan. rows
adalah keluaran yang Anda harapkan.
Saat kelas Anda yang sedang diuji sekarang memerlukan mysql dan memanggil query
metode, itu akan dicegat dan diverifikasi oleh sinon.
Di bagian ekspektasi pengujian Anda, Anda harus memiliki:
mock.verify()
dan dalam teardown Anda, Anda harus mengembalikan mysql kembali ke fungsi normal:
mock.restore()