Spec-Zone.ru › Sinon.JS 6
Эти документы из более старой версии sinon. Вы хотите получить последнюю версию документов?

Вызов шпиона

Вызов шпиона

Вызов шпиона — это объект, представляющий отдельный вызов функции, на которую наложен шпион, которая может быть заглушкой, шпионом, заглушкой или методом-мока.

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.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.
https://sinonjs.org/releases/v6.3.5/spy-call

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API