2017-01-05 1 views
1

J'utilise require.js pour charger des fichiers lors de l'exécution comme suit Cela fonctionne comme prévu quand je lance le fichier dans le bon contexte (je veux dire quand l'appel vient du droit chemin .)Exiger fichier sur l'exécution et numéro test unitaire

module1.js

define(["otherModule"], function(otherModule) { 
working!!! 
.... 

maintenant, je veux créer un certain test unitaire à ce fichier (module1) à partir autre contexte (à partir du dossier de tests qui se trouve dans un endroit diffrent dans e projet e) et j'obtiens l'erreur

require.js:145 Uncaught Error: Script error for: otherModule 

Comme il tente d'exécuter le faire sur ce chemin pendant le test unitaire qui est situé dans la structure du projet diffrent ...

https://app/path1/path2/path3/otherModule.js

Et dans l'exécution qui fonctionne (de contexte différent) il le trouve dans le chemin

https://app/path1/path2/path3/path4/path5/otherModule.js

Il y a path4 & path5 supplémentaire dans la demande qui fonctionne, Comment dois-je résoudre à travailler sur les deux cas (UT/Runtime)?

http://requirejs.org

Répondre

1

Je pense que vous devriez être en mesure de le faire fonctionner en appliquant un fichier de configuration RequireJS, de sorte que le nom du module est extrait de son chemin:

Par ex dans le contexte de test, appeler quelque chose comme ceci comme étape d'initialisation:

require.config({ 
    baseUrl: "/path1/path2/path3" 
    }); 

Vous pouvez également remapper modules simples comme si (cela peut aussi être utilisé pour injecter une autre implémentation d'un module spécifique pour tester, etc.) :

require.config({ 
    paths: { 
     "otherModule": "/path1/path2/path3/otherModule" 
    } 
    }); 

Voir ici: http://requirejs.org/docs/api.html#config

+0

Merci, mais pouvez-vous elborate par exemple dans mon contexte qu'est-ce que cela signifie le « nom du module est extrait de son chemin. » et comment il a suggéré de le faire ... l'exemple dans le lien est trop général, merci encore pour le soutien! –

+0

@RaynD J'ai ajouté un exemple, j'espère que cela aidera. – Lucero

+0

Merci, où devrais-je mettre les premières suggestions et la seconde? pour le premier voulez-vous dire avant la définition du test unitaire? –