Sinon.js объединяет колл с количеством раз - PullRequest
0 голосов
/ 29 августа 2018

Я знаю, с помощью sinon.js вы можете проверить, что шпион вызывали определенное количество раз:

sinon.assert.calledTwice(mySpy.someMethod);

И вы можете проверить, что шпион был вызван с определенными аргументами:

sinon.assert.calledWith(mySpy.someMethod, 1, 2);

Но как их объединить, чтобы проверить, что метод вызывался определенное количество раз с конкретными аргументами? Что-то, теоретически, так:

sinon.assert.calledTwiceWith(mySpy.someMethod, 1, 2);

1 Ответ

0 голосов
/ 30 августа 2018

A spy обеспечивает доступ к сделанным вызовам с использованием getCall() и getCalls(). Каждый Шпионский вызов может быть проверен с использованием таких методов, как calledWithExactly():

import * as sinon from 'sinon';

test('spy', () => {

  const spy = sinon.spy();
  spy(1, 2);
  spy(3, 4);
  expect(spy.callCount).toBe(2);
  expect(spy.getCall(0).calledWithExactly(1, 2)).toBe(true);
  expect(spy.getCall(1).calledWithExactly(3, 4)).toBe(true);

});
...