2016-07-22 47 views
0

我想確保構造函數在用Sinon實例化時調用一個方法,但是,我似乎無法得到它的工作,因爲我相信sinon沒有看到正確的實例:用Sinon調用方法的測試構造函數

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

    someFunction() { 
    return 1; 
    } 
} 

...和測試

describe('constructor',() => { 

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

}); 

回答

3

嘗試調用構造函數之前間諜Test.prototype.someFunction。 類似這樣的

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

這很有道理......我應該想到這一點。 – Detuned

相關問題