2016-04-14 19 views
0

我有這樣的測試:無法轉換未定義或爲空茉莉它的功能反對

var jsdom = require('jsdom').jsdom; 
var document = jsdom('<html></html>', {}); 
var window = document.defaultView; 
global.jQuery = global.$ = require('jquery')(window); 

$.platform = {}; 
require('../runtime/platform/js/modules/platform.upload.js'); 
var self = $.platform.upload; 

describe('platform.upload.js', function() { 
    console.log('<<<<<<<<<' + Object.keys($.platform.upload)); 

    it('should work', function() { 
     console.log('<<<<<<<<<' + Object.keys($.platform.upload)); 
     self.sendFiles([], 'file', $('<form></form>')); 
    }); 
}); 

platform.upload.js定義$ .patform.upload對象,當我試圖訪問內部it Object.keys函數我有錯誤「無法將undefined或null轉換爲對象」,Object.keys裏面的describe工作正常。爲什麼我有這個錯誤,以及如何解決這個問題?我只是使用self,但sendFiles函數也需要訪問$.platform.upload,並且我有不同的錯誤「當我嘗試訪問$.platform.upload.name時,無法讀取未定義的屬性'名稱'。

我正在使用grunt-jasmine-nodejs從grunt使用jasmine-node。

回答

0

我已經固定與此代碼的問題:

describe('platform.upload.js', function() { 
    var plaform = $.platform; 
    describe('sendFiles', function() { 
     it('should upload file', function() { 
      $.platform = plaform; 
      self.sendFiles([], 'file', $('<form></form>')); 
     }); 
    }); 
});