Sinon: Variables globales de remplacement

Créé le 7 janv. 2019  ·  3Commentaires  ·  Source: sinonjs/sinon

Les modules que je veux tester et/ou simuler utilisent des variables globales.

Par exemple, le code source du module fait référence à une variable session , qui n'est définie nulle part mais qui est disponible au moment de l'exécution.

Considérez le module globals.js :

let globals = {
    contextName: "DATA_PIPELINE",
    reportContext: "report",
    session: session
};

module.exports = globals;

session n'est pas défini dans ce fichier mais disponible au moment de l'exécution. C'est une variable globale de l'environnement (pas sous mon contrôle).

Je remarque qu'avec de faux minuteurs, vous avez réussi à remplacer l'implémentation de fonctions globales telles que setTimeout. Comment pourrions-nous appliquer cela à n'importe quelle fonction/objet global ?

Tous les 3 commentaires

Peut-être que sinon.replace(object, prop, replacement) est ce que vous cherchez ?
https://sinonjs.org/releases/v7.2.4/sandbox/#sandboxreplaceobject -property-replacement

Nous essayons de garder la liste des problèmes GitHub bien rangée et concentrée sur les bogues et les discussions sur les fonctionnalités. Ce ticket ressemble à une question d'utilisation ; veuillez le publier sur StackOverflow et le taguer avec sinon , afin que la plus grande communauté puisse répondre à vos questions.

Dans Node.js, vous pouvez faire quelque chose comme :

global.session = sinon.stub();
// Proceed to import the modules that use the session global and run the tests
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

brettz9 picture brettz9  ·  3Commentaires

optimatex picture optimatex  ·  4Commentaires

akdor1154 picture akdor1154  ·  4Commentaires

zimtsui picture zimtsui  ·  3Commentaires

andys8 picture andys8  ·  4Commentaires