2013-03-31 7 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' हटा दिया गया है। वर्तमान दृष्टिकोण ['बुलाया गया'] (http://sinonjs.org/releases/v4.1.2/spies/#spycalledbeforeanotherspy) और संबंधित विधियों का उपयोग करना है। – Gajus

संबंधित मुद्दे