Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verspottet man MySQL (ohne ORM) in Node.js?

Mit Sinon können Sie ein ganzes Modul mit einem Mock oder Stub versehen. Nehmen wir zum Beispiel mysql an Modul hat eine Funktion query :

var mock;

mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);

queryString , queryParams sind die Eingaben, die Sie erwarten. rows ist die erwartete Ausgabe.

Wenn Ihre zu testende Klasse nun mysql benötigt und die query aufruft Methode, wird es von sinon abgefangen und verifiziert.

In Ihrem Testerwartungsabschnitt sollten Sie Folgendes haben:

mock.verify()

und in Ihrem Teardown sollten Sie mysql wieder auf die normale Funktionalität zurücksetzen:

mock.restore()