2017-09-26 3 views
0

Ich teste aus Praktikant 4 und ich habe einige Ressourcen von einem CDN, die ich testen möchte. In meiner intern.json habe ich folgendes.Intern4 und CDN-Ressourcen

{ 
    "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 
} 

Aber wenn ich meine Tests laufen lasse, erhalte ich die folgenden Fehler mit stacktrace vom @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) 

Die Datei existiert auf dem CDN, es scheint nur so, als könnte der Loader sie nicht laden. Ist das eine Einschränkung von Intern 4? Ich nahm an, dass es in einer kopflosen Chrome-Sitzung funktionieren würde, aber das scheint es nicht zu tun.

Danke!

Antwort

1

Standardmäßig werden Suites in der Liste "suites" sowohl in Knoten- als auch in Browserumgebungen ausgeführt, und @dojo/loader unterstützt das Laden von Modulen über URLs in Node nicht. Um Suites nur im Browser auszuführen, fügen Sie sie dem Umgebungsobjekt "browser" hinzu, z. B .:

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