J'ai une application tapée qui a été compilée dans un seul fichier, myjs.js dans le dossier js. Et j'ai une installation de karma jasmine sur mon espace de travail.Comment résoudre une erreur "définir n'est pas définie" lors de l'utilisation de karma de jasmin avec un typecript compilé pour tester un composant?
dans les myjs.js il y a le code
var require, define, requirejs;
(function() {compiled typescript code here })();
etc etc etc;
Quelque part dans mon tapuscrit compilé est le code
define('component/to/test', ["dependencies"], function(dependencies){ ... }
dans mon TestScript de jasmin, j'ai,
define([component/to/test], function(component){ jasmine specifications here});
Cependant, lors de l'exécution du fichier de jasmin avec le début karma, j'obtiens l'erreur que
define is not defined
J'ai vérifié le fichier de configuration du karma, les deux fichiers sont inclus js/.js et spécifications/ .js.
Une idée de ce que je fais mal, c'est la première fois que je fais quelque chose comme ça.
Vous devez utiliser un chargeur compatible AMD. –
comment ferais-je cela? – needoriginalname
En utilisant un chargeur AMD comme RequireJS ou le chargeur Dojo. Vous pouvez également charger des modules AMD avec SystemJS. –