2015-11-19 1 views
0

Tout en se rendant compte que la configuration de mon projet pourrait être la cause de mon problème, voici ce que je voudrais une aide (passer d'un autre cadre à Intern):Stagiaire: DRY coureurs pour le projet multiple dans un espace de travail

J'ai différents projets (> 20) dans un espace de travail de développement, donc j'ai (> 20) différents répertoires avec le code de test. J'aimerais qu'un projet soit testable sur lui-même, mais j'aimerais aussi exécuter toutes les suites ensemble. Je spécifie d'utiliser RequireJS comme chargeur AMD et où mes tests peuvent être trouvés par projet (un pour nodeJS, un pour les navigateurs) à travers un fichier de configuration. PLUS J'ai un fichier de configuration global spécifiant tous les fichiers.

Vous pouvez faire des images il y a assez de duplication, quelle serait une bonne approche pour DRY cela?

Note: il serait également le bienvenu pour aider à mieux décrire mon problème (plus générique ou moins TLDR)!

Répondre

1

Comme les fichiers de configuration Intern ne sont que des modules AMD vous pouvez utiliser le mécanisme de chargement de dépendance normale pour charger et combiner des données de configuration à partir de fichiers multiples:

// in your “do everything” master configuration 
define([ 
    'projectA/tests/intern', 
    'projectB/tests/intern', 
    'projectC/tests/intern', 
    // … 
], function() { 
    var configs = Array.prototype.slice.call(arguments, 0); 
    function getCombined(key) { 
    return Array.prototype.concat.apply([], configs.map(function (config) { 
     return config[key]; 
    })); 
    } 

    return { 
    suites: getCombined('suites'), 
    functionalSuites: getCombined('functionalSuites'), 
    // … 
    }; 
}); 
+0

Oh comment pourrais-je ne l'ai pas vu ça! Merci! – SirLenz0rlot