Sinon: La méthode de restauration par défaut du bac à sable ne restaure pas les stubs/espions

Créé le 2 mai 2018  ·  4Commentaires  ·  Source: sinonjs/sinon

Lorsque vous utilisez une méthode de bac à sable sur le bac à sable par défaut, restore() ne restaure pas correctement les simulations ou les espions. Un cas de repro minimal sur Sinon v5.0.2 :

const sinon = require('sinon');
const myApi = {
  someMethod() {
    console.log('test method!');
  }
};

sinon.stub(myApi, 'someMethod');
sinon.restore();
sinon.stub(myApi, 'someMethod');
// TypeError: Attempted to wrap someMethod which is already wrapped

Il semble que dans l' appel à extend dans lib/sinon.js , les exportations non sandbox stub/spy/etc. de apiMethods finissent par masquer les méthodes sandbox, et donc restore() ne fait rien. Les documents et la source de l' lib/sinon.js semblent suggérer qu'il s'agit d'une utilisation prévue.

J'ai seulement testé stub et spy , mais je m'attendrais à ce que les autres méthodes ombrées ne fonctionnent pas non plus comme prévu.

J'ai exécuté ces tests sur Node v8.9.4 et Chrome 66.0.3359.117 via Karma/Chromedriver, bien que ce problème ne semble pas lié à l'environnement.

Commentaire le plus utile

Avec de bons rapports d'erreur, la plupart des bogues sont faciles à éliminer

Tous les 4 commentaires

Merci pour votre rapport d'erreur détaillé

Cela a été corrigé dans [email protected]

Merci d'avoir répondu si rapidement ! Très appréciée :)

Avec de bons rapports d'erreur, la plupart des bogues sont faciles à éliminer

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

andys8 picture andys8  ·  4Commentaires

fearphage picture fearphage  ·  3Commentaires

stephanwlee picture stephanwlee  ·  3Commentaires

byohay picture byohay  ·  3Commentaires

NathanHazout picture NathanHazout  ·  3Commentaires