मैं कैसे विश्व स्तर पर करने में दिलचस्पी है ब्राउज़र में फ़ाइल पिकर का बाहर नकली। विशेष रूप से, मैं सबसे में यह कर फ़ायरफ़ॉक्स में दिलचस्पी है, लेकिन एक सामान्य समाधान पसंद करेंगे।यूनिट परीक्षण के लिए ब्राउज़र में फ़ाइल पिकर का नकल कैसे करते हैं?
मैं केवल प्रदर्शित होने से फ़ाइल पिकर संवाद को रोकने के बारे में परवाह। मुझे यह ज़ोर देने में सक्षम होने की आवश्यकता नहीं है कि यह खुला है। समस्या यह है कि मेरे पास जावास्क्रिप्ट कोड के लिए यूनिट परीक्षण हैं जो फ़ाइल पिकर खोलते हैं। जब संवाद खुले, तो यह टेस्ट स्वीट के निष्पादन रुक जाता है।
एक उदाहरण की स्थिति यह है कि मैं Backbone.View
की विधि का परीक्षण कर रहा हूं। वह विधि एक सबव्यू प्रस्तुत करती है, जो फ़ाइल पिकर को रेंडर होने पर खुलती है। चूंकि मैं सीधे उस सबव्यू का परीक्षण नहीं कर रहा हूं, इसलिए मैं अपने व्यवहार के हिस्सों को नकल नहीं करना चाहूंगा जब मैं केवल onRender
विधि के किसी अन्य भाग को यूनिट परीक्षण में रूचि रखता हूं।
उदाहरण:
//Test file
it("should do something", function() {
var view = new App.Views.SomeView();
spyOn(view.modelBinder, "bind");
view.render();
expect(view.modelBinder.bind).toHaveBeenCalled();
});
//View file
onRender : function() {
this.modelBinder.bind(this.el, this.model);
this.$("#thing").html(this.subview.render().el); //This line has a side effect that opens file picker
}
अनिवार्य रूप से, मैं नहीं चाहता कि स्पष्ट रूप से व्यवहार का कारण बनता है कि आप फ़ाइल पिकर खोले जाने के लिए है, क्योंकि यह नहीं है कि मैं क्या परीक्षण यहाँ में दिलचस्पी है बाहर नकली करना चाहते हैं। ऐसा करने से टेस्ट सूट को और अधिक भंगुर और बनाए रखने में मुश्किल होगी।
का उपयोग करके आप js-परीक्षण ड्राइवर का उपयोग कर रहे हैं? – leeand00
मुझे एक एहसान दें और इकाई परीक्षण जोड़ें और उस पंक्ति पर टिप्पणी करें जहां इसे प्रदर्शित करने वाला फ़ंक्शन कहा जाता है। – leeand00
स्थिति के कुछ कोड और स्पष्टीकरण जोड़ा गया। –