Вызов шпиона
Вызов шпиона
Вызов шпиона — это представление объекта отдельного вызова функции «шпиона», которая может быть фейком, шпионом, стабом или методом-моком.
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/v14/spy-call