2017-10-16 3 views

Répondre

0

Vous pouvez patcher le long de la couture require avec un projet comme moquerie:

Si vous avez essayé de travailler avec des simulacres dans Node.js, vous avez sans doute découvert que ce n'est pas si facile à obtenir vos simulateurs sont connectés à la face du système de chargement des modules de Node. Lorsque votre source-sous-test tire dans ses dépendances à travers require, vous voulez que vos moqueurs fournis, au lieu du module d'origine, pour permettre de véritables tests unitaires de votre code.

https://github.com/mfncooper/mockery

0

Disons que votre module X renvoie le résultat d'une opération effectuée par Y, on peut dire que X est la suivante:

const y = require ('y.js'); 

xWork() { 
    return y.doWork().result; 
} 

Ici, vous pouvez mettre à jour X pour injecter Y comme ceci:

xWork (y) { 
    return y.doWork().result; 
} 

De vous là dans votre test, vous pouvez générer une maquette de Y qui peut être injecté comme ceci:

yMock = { 
    doWork:() => { 
     return { result: 'mockedResult' }; 
    } 
}; 

x.xWork(yMock); // call x with y mock 

Javascript vous permet de moquez quoi que ce soit sans nécessiter aucune dépendance qui est parfait pour les tests unitaires. J'espère que cela aide.