2015-11-19 43 views
0

雖然意識到我的項目設置可能是我的問題的根本原因,這裏想什麼我一些幫助,(從另一個框架移動到Intern):實習生:在一個工作區DRY運動員多個項目

我在一個開發工作區有不同的(> 20)項目,所以我有(> 20)不同的測試代碼目錄。我希望一個項目可以自行測試,但也想一起執行所有套件。 我指定使用RequireJS作爲AMD加載器,並且可以通過配置文件在每個項目中找到我的測試(一個用於nodeJS,一個用於瀏覽器)。 PLUS我有一個整體配置文件指定所有的文件。

你可以形象有相當的重複,幹什麼會是一個好辦法呢?

注意:也歡迎幫助更好地描述我的問題(更通用或更少的TLDR)!

回答

1

由於實習生的配置文件只是AMD模塊,可以使用正常的依賴加載機制加載並從多個文件合併配置數據:

// 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

哦,我怎麼可能沒見過這個!謝謝! – SirLenz0rlot

相關問題