var MyClassStub = sinon.createStubInstance(MyClass);
MyClassStub ne contient pas de méthodes statiques. Comment y remédier?
méthode statique:
sinon.stub(YourClass, 'yourClassMethod').callsFake(() => {
return {}
})
méthode non statique:
sinon.stub(YourClass.prototype, 'yourClassMethod').callsFake(() => {
return {}
})
En utilisant sinon la version 3.1.0, je peux me moquer (stub) d'une variable statique privée en utilisant le code donné ci-dessous:
const YourClass = require('./lib/YourClass');
const mockStaticMethod = sinon.stub(YourClass, '_yourStaticMethod').returns('I am called');
La seule chose que vous devez vous rappeler que le premier paramètre de la méthode sinon.stub () devrait être la classe elle-même. Il ne doit pas être un objet de cette classe comme const yourClassObject = new YourClass();
. La raison en est qu'aucun objet de la classe ne vous permettra d'accéder à des méthodes statiques.