4

コールバック駆動型 API を開発するにあたり、特定の関数が特定のパラメーター セットと「任意の」関数 (コールバック) で呼び出されることを表現したいと思います。

ジャスミンは次のことができます。

var serviceFunction = jasmine.createSpy();
var functionUnderTest = create(serviceFunction);
var thing = 'arbitrary/thing'

functionUnderTest(thing);
expect(serviceFunction).toHaveBeenCalledWith(thing, jasmine.any(Function));

sinon/buster.js に同様の機能がありますか? これまでのところ、最初の引数のみをテストしていますが、テストでコールバックの必要性を表現したいと思います。

これは私がこれまでに持っているものです:

var serviceFunction = this.spy(); // or `sinon.spy()`
var functionUnderTest = create(serviceFunction);
var thing = 'arbitrary/thing'

functionUnderTest(thing);
assert.calledWith(serviceFunction, thing);
4

1 に答える 1