2015-04-03 33 views
3

我想編寫測試腳本來檢查Worker是否在某個外部文件的某個函數中創建。我想測試的功能是,我嘗試運行摩卡測試時未定義工作人員

createPoller: function() { 
    var poller = new Worker(POLLER_PATH), 
     _this = this; 


    /* worker handler on receiving the message */ 
    poller.onmessage = this.handlePoller.bind(_this); 
    this.set('pollerId', U.generateUUID()); 
    this.set('poller', poller); 
} 
>>> ReferenceError: Worker is not defined 
at new Worker(POLLER_PATH) 
    ^

當我運行代碼時,工作人員被創建並且工作正常。但是,當我在特定的代碼上運行腳本時,它說Worker是未定義的。

+0

編輯您的問題以指示您正在運行測試的環境。 – Louis 2015-04-06 10:50:03

回答

2

如果您使用的JavaScript環境本身支持web worker,那麼他們應該只是那裏供您使用,並且您的代碼應該工作。所以最可能的問題是,您事實上是在本地不支持Web工作的JavaScript環境中運行您的代碼。例如,如果您想在Node.js中使用Web工作人員,則必須添加library that provides it。根據MDN,IE不支持版本10之前的網絡工作者。

+1

如果我運行代碼,那麼工作人員工作正常。但是當我嘗試在該代碼上運行測試腳本時,它說Worker是未定義的。 – 2015-04-06 04:07:49

相關問題