2014-10-08 38 views
0

我的問題在於未來。我有一個JavaScript應用程序。它利用所謂的模塊模式。那是我有多個js文件(每個類一個),並且在構建過程中,所有這些文件都放在一個文件中幷包裝在IIFE中。所以在我的人緣配置文件我指定如何在單次運行期間用karma test-runner測試兩個具有相同名稱的不同類?

files: ['src/**/*.js', 'tests/**/*.js'] 

問題就出現了,因爲我需要在這個程序使用多個「模塊」。這裏是代碼樹結構的例子:

├── karma_unit.conf.js 
├── src 
│   ├── Bar 
│   │   └── module.js 
│   └── Foo 
│    └── module.js 
└── tests 
    └── unit 
     ├── Bar 
     │   └── test.js 
     └── Foo 
      └── test.js 

所以我有兩個Module類在同一時間。這不是「內置」代碼的問題。但是對於單元測試來說這是個問題,因爲這是名稱衝突。

我知道我可以爲每個這樣的模塊有不同的配置文件,並運行幾次測試(每個配置文件一個),但這是非常不可取的。

此外,我假定文件相對於它們列入順序執行的,所以我試圖在配置文件中寫:

files: [ 
    'src/Foo/*.js', 
    'tests/Foo/*.js', 
    'src/Bar/*.js', 
    'tests/Bar/*.js', 
] 

但這並沒有幫助。

所以我的問題是:我怎麼能繞過這種情況,當我被迫在單個項目中有幾個相同名稱的JavaScript類而沒有多次運行測試或重命名這些類?

我的提前感謝。

+1

如果使用requirejs實施項目中的'模塊pattern',你可能會發現這個有趣的:HTTP:// karma-runner.github.io/0.8/plus/RequireJS.html – 2014-10-09 20:28:03

+0

@Nitin ...,終於我找到時間解決這個問題,謝謝你的建議,它幾乎正是我需要的。你會發佈一個答案,以便我可以接受嗎? – user907860 2015-01-02 10:47:00

回答

相關問題