1. ホーム
  2. javascript

[解決済み] シノンの半券を簡単にクリーンアップ

2022-04-27 05:12:20

質問

mochaのbeforeEachブロックできれいに動作するように、すべてのシノンスピスモックとスタブを簡単にリセットする方法はありますか。

サンドボックスがオプションであることはわかりましたが、このためにサンドボックスを使用する方法はわかりません。

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

解決方法は?

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"
}));