2017-08-23 14 views
6

असल में मैं समारोह, जहां मैं फ़ाइलकोणीय कर्मा जैस्मीन - परीक्षण समारोह

describe('get data from file', function() {    

    it('should read the files from the data', function() { 
     var syncFile = 'somefile.txt'; 

     expect().toBe(); 
    }); 
}); 
पढ़ने के लिए पाठ फ़ाइल से पढ़ रहा हूँ

$window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function (dir) { 
    var path = 'somefile.txt';      
    dir.getFile(path, { create: true }, function (file) { 
     file.file(function (file) { 
      var reader = new FileReader(); 
      reader.onloadend = function() {        
       resolve(this.result); 
      } 
      reader.readAsText(file); 
     }); 
    }, error); 
}, error); 

मैं इकाई परीक्षण मामलों लिखित रूप में अटक कर रहा हूँ नीचे इस परीक्षण करने के लिए है

फ़ाइल पढ़ने के लिए फ़ाइलreader के लिए इकाई परीक्षण कैसे लिखें? पीएस: मैं कर्म

उत्तर

7

का उपयोग कर यूनिट परीक्षण में नया हूं, आपको सीधे FileReader का उपयोग नहीं करना चाहिए। $ खिड़की नकली

var reader = new $window.FileReader(); 

है कि लाइन अपने परीक्षण में बदलें और एक कस्टम FileReader वस्तु लौटने। फिर उस पर परीक्षण करें। नीचे कुछ पसंद है।

describe('get data from file', function() { 

    var $window, fileReader; 

    beforeEach(function() { 

     inject(function (_$window_) { 
      $window = _$window_; 
     }); 

     fileReader = function() { 
      return {}; 
     }; 

     spyOn($window, "FileReader").and.returnValue(fileReader); 
    }); 

    it('should read the files from the data', function() { 
     var syncFile = 'somefile.txt'; 

     expect($window.FileReader).toHaveBeenCalled(); 
    }); 
}); 
+0

क्या आप कृपया बता सकते हैं कि यह कैसे निष्पादित किया जाता है? – Matarishvan

+0

@ मातरिशवन आप किस हिस्से को समझ नहीं सकते? कुल मिलाकर, यह विंडो ऑब्जेक्ट में FileReader विधि के लिए एक जासूस बनाता है। फिर आप इस जासूस का उपयोग अपने इच्छित व्यवहार को इंजेक्ट करने और उस विधि में किए गए कॉल को ट्रैक और परीक्षण करने के लिए कर सकते हैं। – Shahzad

+0

तो मूल रूप से मुझे अपने अपेक्षित फ़ंक्शन को मेरे अपेक्षित फ़ंक्शन में पास करना होगा? होने की उम्मीद नहीं है और इसका उपयोग कैसे किया जा रहा है? – Matarishvan

संबंधित मुद्दे