Intern4 和 CDN 资源

Intern4 and CDN resources

我正在测试实习生 4,我有一些来自 CDN 的资源要测试。在我的 intern.json 中,我有以下内容。

{
  "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上,好像是加载器加载不出来。这是 Intern 4 的限制吗?我假设 运行 在无头 Chrome 会话中将其设置为适用于此,但它似乎并不适用。

谢谢!

默认情况下,"suites" 列表中的套件在 Node 和浏览器环境中是 运行,并且 @dojo/loader 不支持在 Node 中通过 URL 加载模块。要在浏览器中仅 运行 套件,请将它们添加到 "browser" 环境对象,例如:

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