2012-03-30 3 views
8

sinon.js内のすべてのアクティブなスパイを見つける方法はありますか?Jasmineの各テスト後にすべてのsinon.jsスパイを自動的に復元する方法はありますか?

it "should not create a new MyClass", -> 
    spy = sinon.spy(window, 'MyClass') 
    expect(spy).not.toHaveBeenCalled() 
    window.MyClass.restore() 

任意のアイデア:これを行う

afterEach -> 
    sinon.restoreAllSpies() 

it "should not create a new MyClass", -> 
    spy = sinon.spy(window, 'MyClass') 
    expect(spy).not.toHaveBeenCalled() 

現在、私はに苦労(およびエラーpronedly!)必要があります。私はこのような何かを行うことができるようにしたいのですが?

答えて

4

私はそうは思わない、それは機能をスパイに置き換えることだから、すべてのスパイを内部的に保存しないでください。つまり、etherはすべてのスパイを配列に格納し、afterEachでリセットしたり、beforeEachに新しいスパイを作成/オーバーライドしたりするだけです。

+1

どのように不幸な:( – bhuga

12

回答はこちらをご覧ください:基本的にCleaning up sinon stubs easily

sandbox = sinon.sandbox.create() 
sandbox.spy(object1, 'methodName') 
sandbox.spy(object2, 'methodName') 
sandbox.restore() 
関連する問題