var MyClassStub = sinon.createStubInstance(MyClass);
MyClassStub non contiene metodi statici. Come risolverlo?Come smantellare i metodi statici con sinon in ES6?
var MyClassStub = sinon.createStubInstance(MyClass);
MyClassStub non contiene metodi statici. Come risolverlo?Come smantellare i metodi statici con sinon in ES6?
metodo statico:
sinon.stub(YourClass, 'yourClassMethod').callsFake(() => {
return {}
})
non
metodo statico:
sinon.stub(YourClass.prototype, 'yourClassMethod').callsFake(() => {
return {}
})
Utilizzando Sinon versione 3.1.0 Sono in grado di prendere in giro (stub) variabile statica privata utilizzando il codice indicato di seguito:
L'unica cosa che devi ricordare è che il primo parametro nel metodo sinon.stub() dovrebbe essere classe stessa. Non dovrebbe essere oggetto di quella classe come const yourClassObject = new YourClass();
. Il motivo è che qualsiasi oggetto della classe non ti permetterà di accedere ai metodi statici.
'MyClassStub .__ proto__ = MyClass' –
https://stackoverflow.com/questions/21072016/stubbing-a-class-method-with-sinon-js –