Вызов шпиона
Вызов шпиона
Вызов шпиона — это объектное представление отдельного вызова функции «шпион», которая может быть «шпионом», «заглушкой» или «моком».
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.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.lastArg
Это свойство — удобное обозначение последнего аргумента вызова.
var spy = sinon.spy(); var date = new Date(); spy(1, 2, date); spy.lastCall.lastArg === date; // true
spyCall.exception
Брошенное исключение, если оно есть.
spyCall.returnValue
Возвращаемое значение.
© 2010–2018 Christian Johansen
Licensed under the BSD License.
http://sinonjs.org/releases/v4.5.0/spy-call