मुझे आश्चर्य है कि मैं जैस्मीन पर फ़ंक्शन/स्टब फ़ंक्शन कैसे कर सकता हूं यदि मैं ईएस 6 आयात/बेबेल के साथ निर्यात का उपयोग कर रहा हूं? SyntaxError: /Users/oleg/projects/rp/popup/lib/spec/popup.spec.js: "MobileDetect" is read-only
जैस्मीन: ES6 पर आयातित फ़ंक्शन/कन्स्ट्रक्टर को कैसे जासूसी करें?
it('should spy MobileDetect',() => {
console.log(MobileDetect.prototype.constructor === MobileDetect); //true
spyOn(MobileDetect.prototype, 'constructor');
console.log(MobileDetect.prototype.constructor === MobileDetect); //false
});`
मैं इस दृष्टिकोण की कोशिश की है, लेकिन यह भी काम नहीं करता:
import MobileDetect from 'mobile-detect';
it('should spy MobileDetect',() => {
MobileDetect = jasmine.createSpy('MobileDetect');
});`
पहली समस्या यह है कि मैं केवल पढ़ने के लिए मॉड्यूल को फिर से लिखने नहीं कर सकते
मॉड्यूल निर्माण में विफल रहा है। .. MobileDetect.prototype.constructor जासूसी, लेकिन सीधे मोबाइल डिटेक्ट नहीं।
इस समस्या के बारे में आप क्या सोचते हैं?
आप 'मोबाइलडेटेक्ट' पर जासूसी नहीं कर सकते क्योंकि चर के मूल्य को नए जासूसी समारोह में फिर से लिखा नहीं जा सकता है। मेरा अनुमान है: क्या होगा यदि आपने 'var myMobileDetect = MobileDetect' किया था और फिर इसके बजाय' myMobileDetect' पर जासूसी की थी? जाहिर है, आपको 'myMobileDetect' का उपयोग करने के लिए अपना कोड बदलना होगा, हालांकि। – apsillers
मैं सोच रहा हूं कि आप अपने परीक्षण में क्या करने की कोशिश कर रहे हैं। क्या आप एक जासूस बनाना चाहते हैं जो 'मोबाइलडेटेक्ट' विधियों की नकल करता है? (यानी एक नकली) –