2017-09-26 127 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 
}