sinonスタブを簡単にクリーンアップする 質問する

sinonスタブを簡単にクリーンアップする 質問する

mocha の beforeEach ブロックで正常に動作する、すべての sinon スパイ モックとスタブを簡単にリセットする方法はありますか。

サンドボックス化はオプションですが、サンドボックスをどうやって使用できるのかわかりません

beforeEach ->
  sinon.stub some, 'method'
  sinon.stub some, 'mother'

afterEach ->
  # I want to avoid these lines
  some.method.restore()
  some.other.restore()

it 'should call a some method and not other', ->
  some.method()
  assert.called some.method

ベストアンサー1

Sinonは、この機能をサンドボックスは、いくつかの方法で使用できます。

// manually create and restore the sandbox
var sandbox;
beforeEach(function () {
    sandbox = sinon.sandbox.create();
});

afterEach(function () {
    sandbox.restore();
});

it('should restore all mocks stubs and spies between tests', function() {
    sandbox.stub(some, 'method'); // note the use of "sandbox"
}

または

// wrap your test function in sinon.test()
it("should automatically restore all mocks stubs and spies", sinon.test(function() {
    this.stub(some, 'method'); // note the use of "this"
}));

おすすめ記事