2016-07-22 14 views
0

Ich möchte sicherstellen, dass der Konstruktor eine Methode aufruft, wenn er mit Sinon instanziiert wird, jedoch kann ich nicht scheinen, dass dies funktioniert, da ich glaube, dass die Sinon nicht die richtige Instanziierung:Testkonstruktor ruft eine Methode mit Sinon auf

class Test { 
    constructor() { 
    this.someFunction(); 
    } 

    someFunction() { 
    return 1; 
    } 
} 

... und der Test

describe('constructor',() => { 

    it('should call someFunction()',() => { 
    const spyFunc = new Spy(new Test(), 'someFunction'); 
    expect(spyFunc.calledOnce).to.be.true; 
    }); 

}); 

Antwort

3

Versuchen auszuspionieren zu Test.prototype.someFunction vor Konstruktor aufgerufen wird. So etwas wie das

sinon.spy(Test.prototype, 'someFunction') 
const spyFunc = new Test(); 
expect(spyFunc.someFunction.calledOnce).to.be.true; 
+0

Das macht Sinn ... Ich hätte darüber nachdenken sollen. – Detuned

Verwandte Themen