मेरे पास एक ऐसा फ़ंक्शन है जिसे मैं कई तर्कों के साथ बुलाता हूं। मैं को केवल पहला तर्क देखना चाहता हूं। शेष कॉलबैक फ़ंक्शन हैं, इसलिए मैं उन्हें अकेला छोड़ना चाहता हूं। इस प्रकार, मैं एक उदाहरण के रूप ajax का उपयोग कर निम्नलिखित 2 कॉल हो सकता है,:एआरजीएस के साथ साइनऑन स्टब कुछ मैच कर सकता है लेकिन सभी तर्क नहीं
method.get = sinon.stub();
method.get(25,function(){/* success callback */},function(){/* error callback */});
method.get(10,function(){/* success callback */},function(){/* error callback */});
मैं method.get.calls...
उपयोग नहीं कर सकते क्योंकि तब यह पहले एक get(25)
और दूसरा get(10)
के बीच अंतर नहीं है। लेकिन अगर मैं method.get.withArgs(25).calls...
का उपयोग करता हूं तो यह मेल नहीं खाता है, क्योंकि withArgs()
मैचों सभी तर्क, जो ऐसा नहीं करता है (और ऐसा कभी भी कॉलबैक के साथ नहीं)।
मैं केवल 1 तर्क के आधार पर प्रतिक्रियाओं को जांचने और सेट करने के लिए साइनऑन स्टब्स कैसे प्राप्त करूं?
धन्यवाद। यह अच्छा होगा अगर मैं 'method.get.withFirstArgs (25)' कर सकता हूं और इस प्रकार तक जब तक 'arg [0] '' 25'' मिलान होगा, लेकिन मुझे लगता है कि यह अस्तित्व में नहीं है। – deitch
महान काम करता है! [यहां एक निश्चित लिंक है] (http://sinonjs.org/releases/v3.2.1/matchers/#sinonmatchany) नवीनतम 'sinon.match.any' दस्तावेज़ों में। – WimpyProgrammer