Вызов шпиона
Вызов шпиона
Вызов шпиона — это объект, представляющий отдельный вызов функции, к которой применяется шпион, которая может быть подделкой, шпионом, заглушкой или эмулятором метода.
var spyCall = spy.getCall(n)
Возвращает n-ый вызов. Доступ к отдельным вызовам полезен для более подробной проверки поведения, когда шпион вызывается более одного раза.
sinon.spy(jQuery, "ajax");
jQuery.ajax("/stuffs");
var spyCall = jQuery.ajax.getCall(0);
assertEquals("/stuffs", spyCall.args[0]);
spyCall.calledOn(obj);
Возвращает true если obj был this для этого вызова. calledOn также принимает сопоставитель spyCall.calledOn(sinon.match(fn)) (см. сопоставители).
spyCall.calledWith(arg1, arg2, ...);
Возвращает true если вызов получил предоставленные аргументы (и, возможно, другие).
spyCall.calledWithExactly(arg1, arg2, ...);
Возвращает true если вызов получил предоставленные аргументы и больше никаких.
spyCall.calledWithMatch(arg1, arg2, ...);
Возвращает true если вызов получил соответствующие аргументы (и, возможно, другие). Это работает так же, как spyCall.calledWith(sinon.match(arg1), sinon.match(arg2), ...).
spyCall.notCalledWith(arg1, arg2, ...);
Возвращает true если вызов не получил предоставленные аргументы.
spyCall.notCalledWithMatch(arg1, arg2, ...);
Возвращает true если вызов не получил соответствующие аргументы. Это работает так же, как spyCall.notCalledWith(sinon.match(arg1), sinon.match(arg2), ...).
spyCall.returned(value);
Возвращает true если шпионируемая функция вернула предоставленное значение value при этом вызове.
Использует глубокое сравнение для объектов и массивов. Используйте spyCall.returned(sinon.match.same(obj)) для строгого сравнения (см. сопоставители).
spyCall.threw();
Возвращает true если вызов бросил исключение.
spyCall.threw("TypeError");
Возвращает true если вызов бросил исключение указанного типа.
spyCall.threw(obj);
Возвращает true если вызов бросил предоставленный объект исключения.
spyCall.calledBefore(otherCall)
Возвращает true если вызов шпиона произошел до другого вызова шпиона.
spyCall.calledAfter(otherCall)
Возвращает true если вызов шпиона произошел после другого вызова шпиона.
spyCall.calledImmediatelyBefore(otherCall)
Возвращает true если вызов шпиона произошел до другого вызова, и между ними не было никаких других вызовов шпиона.
spyCall.calledImmediatelyAfter(otherCall)
Возвращает true если вызов шпиона произошел после другого вызова, и между ними не было никаких других вызовов шпиона.
spyCall.thisValue
Значение вызова this.
spyCall.args
Массив полученных аргументов.
spyCall.callback
Это свойство — удобство для обратного вызова вызова.
Когда последний аргумент в вызове является Function, тогда callback будет ссылаться на него. В противном случае это будет undefined.
var spy = sinon.spy();
var callback = function () {};
spy(1, 2, 3, callback);
spy.lastCall.callback === callback;
// true
spyCall.firstArg
Это свойство — удобство для первого аргумента вызова.
var spy = sinon.spy(); var date = new Date(); spy(date, 1, 2); spy.lastCall.firstArg === date; // true
spyCall.lastArg
Это свойство — удобство для последнего аргумента вызова.
var spy = sinon.spy(); var date = new Date(); spy(1, 2, date); spy.lastCall.lastArg === date; // true
spyCall.exception
Брошенное исключение, если таковое имеется.
spyCall.returnValue
Возвращаемое значение.
© 2010–2022 Christian Johansen
Licensed under the BSD License.
https://sinonjs.org/releases/v11/spy-call