Stubbing i / lub kpiny z klasy w sinon.js?

Stworzyłem opakowanie bazy danych dla mojej aplikacji, pokazane poniżej. Aby to przetestować, oczywiście chciałbym zastąpić rzeczywistą bibliotekę bazy danych. Mógłbym stworzyć nową klasę, która drwi zquery metoda i złap wszystkie dane wejściowe, ale używającsinon.js wydaje się bardziej odpowiedni, ale jak bym go użył?
Jestmock lubstub cechysinon.js co powinienem używać?

wrapper = (function() {

  function wrapper() {}

  wrapper.db = require("database");

  wrapper.prototype.insertUser = function(doc) {
    return this.db.query("INSERT INTO USERS...");
  };

  return wrapper;

})();

questionAnswers(2)

yourAnswerToTheQuestion