आप सर्वर प्रतिक्रियाओं का अनुकरण करने सिनोन की जरूरत है। इस पुस्तकालय इस तरह उपयोगिताओं है:
this.server.respondWith("GET", "/episode/123",
[200, {"Content-Type": "application/json"},
'{"id":123,"title":"Hollywood - Part 2"}']);
तो जब भी आप जड़ प्रकरण और आईडी 123 के साथ एक मॉडल है, सिनोन लाए जाने फोन पर इस वापस आ जाएगी।
इस पढ़ें: http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html
अद्यतन: प्रश्नकर्ता अनुरोध के रूप में एक दूसरे वैकल्पिक हल जोड़ा जा रहा है। सहेजने की विधि का मज़ाक उड़ाओ।
// उपयोग इस Backbone.js मॉडल
var ExtendedModel = Backbone.Model.extend({
//mocked save:
save : function(data, options){
if(data){
this.set(data);
}
var mocked = this.toJSON();
if(!mocked.id){
mocked.id = new Date().getTime();
}
mocked = this.parse(mocked);
if(options.success){
options.success(this);
}
if(options.error){
options.error(this);
}
}
});
var MyModel = ExtendedModel.extend({
});
हालांकि मैं अभी भी कर रहा हूँ करने के बजाय अपने परीक्षणों में आप सिनोन उपयोग करने के लिए सुझाव देते हैं। Backbone.js का मजाक करना सुरुचिपूर्ण नहीं है और हेडर प्रतिक्रिया कोड का भी समर्थन करता है और अन्य सामान भी अधिक जटिल और पहिया को फिर से शुरू करने का एक प्रकार है। जबकि साइनऑन के साथ आपको लाइब्रेरी को एक सर्वर सर्वर प्रतिक्रिया जोड़ने की आवश्यकता है।
स्रोत
2013-05-06 00:18:00
मैं उपयोग कर रहा हूँ है निम्नलिखित प्रौद्योगिकियों backbone.js, require.js, jquery, वेबएपीआई पर बाकी सेवाएं। जैस्मीन से, मैं मॉडल ऑब्जेक्ट का मज़ाक उड़ा रहा हूं और इकाई परीक्षण के लिए एक बाध्यकारी हूं। जब मुझे मॉक मॉडल के दृश्य से प्रतिक्रिया मिलती है, तो मॉडल की बचत (सफलता, त्रुटि) प्रतिक्रियाओं को कैसे यूनिट करें। साइनऑन के बिना मॉडल प्रतिक्रियाओं का परीक्षण करने का कोई तरीका नहीं है। – Gururaj
साइनन सिर्फ अन्य जावास्क्रिप्ट lib है, यकीन नहीं है कि आप इसे क्यों नहीं जोड़ सकते हैं। लेकिन वैसे भी, अन्य कार्यवाही बचत विधि को ओवरराइट करना है। मैं अपने जवाब में उस कामकाज को जोड़ दूंगा। –