अगर मैं एक समारोह है कि 2 कॉलबैक लेता है के लिए एक ठूंठ है, मैं कैसे जब टोंटदार समारोह शुरू हो जाती है कॉल दोनों कॉलबैक को sinon.js ऊपर तार कर सकते हैं?sinon.js स्टब - क्या आप एकल स्टब किए गए फ़ंक्शन पर एक से अधिक कॉलबैक कॉल कर सकते हैं?
function stubThisThing(one, two) {
... one and two are functions ...
... contents stubbed by sinon.js ...
}
मैं या तो तर्क में से एक कॉल करने के लिए सिनोन उपयोग कर सकते हैं:
stubbedThing.callsArg(0);
या -
उदाहरण के लिए यहाँ समारोह है कि मैं ठूंठ जो तर्क के रूप में 2 कार्यों लेता है चाहता हूँ
stubbedThing.callsArg(1);
लेकिन मुझे लगता है कि दोनों को कहा जा सकता है। अगर मैं कोशिश:
stubbedThing.callsArg(0).callsArg(1);
या
stubbedThing.callsArg(0);
stubbedThing.callsArg(1);
तो सिनोन ही कभी दूसरा तर्क कॉल करेंगे। अगर मैं इसे दूसरे क्रम में तार देता हूं, तो साइनऑन पहले तर्क को कॉल करेगा। हालांकि, मैं दोनों को एक के बाद एक कहा जाना चाहूंगा।
क्या आपने 'कॉल किया गया' विधि – Pawan
@Pawan - क्या आपका मतलब जासूस एपीआई से 'कॉल किया गया' फ़ंक्शन है? यह वास्तव में वह नहीं है जिसे मैं ढूंढ रहा हूं। मैं एक स्टब के व्यवहार को बदलना चाहता हूं। – serg10
sinon.js प्रति कॉल ** प्रति कॉलबैक पर केवल एक कॉलबैक ** कॉलिंग का समर्थन करता है। यह कई कॉल पर एकाधिक कॉलबैक कॉल कर सकता है उदाहरण के लिए। 'StubbedThing.onCall (0) .callsArg (0); stubbedThing.onCall (1) .callsArg (1); '। या आप अपने 'stubbedThing' कहने के बाद मैन्युअल रूप से' callArg' कर सकते हैं: उदा। 'stubbedThing (firstArg, secondArg); stubbedThing.callArg (0); // कॉल firstArgs; stubbedThing.callArg (1) // secondArg' – nemesv