2017-09-26 128 views
0

我正在測試實習生4,並且我有一些我想測試的CDN資源。在我的intern.json我有以下。Intern4和CDN資源

{ 
    "loader": { 
    "script": "dojo2", 
    "options": { 
     "packages": [ 
     { "name": "dist", "location": "dist" }, 
     { 
      "name": "esri", 
      "location": "https://js.arcgis.com/4.5/esri" 
     } 
     ] 
    } 
    }, 
    "environments": [ 
    { 
     "browserName": "chrome", 
     "chromeOptions": { "args": [ "headless", "disable-gpu" ] }, 
     "fixSessionCapabilities": false 
    } 
    ], 
    "suites": "dist/tests/unit/app/main.js", 
    "maxConcurrency": 2 
} 

但是當我運行我的測試,我得到以下錯誤從@dojo/loader/loader.ts堆棧跟蹤。

(ノಠ益ಠ)ノ彡┻━┻ 
Error: Failed to load module esri/core/promiseUtils from https://js.arcgis.com/4.5/esri/core/promiseUtils.js (parent: dist/tests/unit/app/main.js) 

該文件存在於CDN上,它看起來像加載程序無法加載它。這是實習生4的限制嗎?我認爲在一個無頭的Chrome會話中運行它會爲此工作,但似乎並非如此。

謝謝!

回答

1

默認情況下,「套件」列表中的套件在節點以及瀏覽器環境中運行,並且@dojo/loader不支持通過節點中的URL加載模塊。要僅在瀏覽器中運行套件,請將它們添加到「瀏覽器」環境對象中,例如:

{ 
    "loader": { 
    ... 
    }, 
    ... 
    "browser": { 
    "suites": "dist/tests/unit/app/main.js" 
    }, 
    "maxConcurrency": 2 
}