2016-07-22 7 views
0

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

関連する問題