2013-03-31 2 views
9

Как проверить последовательность вызовов функций Sinon.js?Как проверить последовательность вызовов функций Sinon.js?

Например, у меня есть три (3) обработчика в объекте и вы хотите определить последовательность вызовов обработчиков. Есть ли возможности для этого?

ответ

15

http://sinonjs.org/docs/

sinon.assert.callOrder (spy1, spy2, ...)

Пропуска, если предоставленные шпионами, где называемые в указанном порядке.

+0

Используя [Function.prototype.apply()] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Function/apply), вы можете вызвать его с помощью массива шпионов например: sinon.assert.callOrder.apply (sinon.assert, [spy1, spy2, spy3]); ' – plong0

+1

Как насчет того, если у меня есть один шпион, и я хочу утверждать, что он был вызван первым с аргументом 1 и второй с аргументом 2? –

+0

Похоже, что 'callOrder' удален. Текущий подход заключается в использовании ['calledBefore'] (http://sinonjs.org/releases/v4.1.2/spies/#spycalledbeforeanotherspy) и связанных с ним методов. – Gajus

Смежные вопросы