Mysql
 sql >> Database >  >> RDS >> Mysql

Come si fa a prendere in giro MySQL (senza ORM) in Node.js?

Con sinon, puoi inserire un mock o uno stub attorno a un intero modulo. Ad esempio, supponiamo il mysql il modulo ha una funzione query :

var mock;

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

queryString , queryParams sono l'input che ti aspetti. rows è l'output che ti aspetti.

Quando la tua classe in test ora richiede mysql e chiama la query metodo, sarà intercettato e verificato da sinon.

Nella sezione delle aspettative del test dovresti avere:

mock.verify()

e nel tuo smontaggio dovresti ripristinare mysql alla normale funzionalità:

mock.restore()