2016-03-30 23 views
0

我在想如何測試2個或更多不同的javaScript文件,例如我有5個javascript文件,我該如何測試這3個腳本?我需要測試所有這些,在1個spec.js文件是這樣的:在1個Spec.js文件中測試2個或更多JavaScript文件?

javascript1.js

javascript2.js(這3個到1規格文件)

javascript3.js

或我可以讓他們測試1:1的比例,如下所示:

javascript1.js to spec1.js;

javascript2.js to spec2.js;

javascript3.js to spec3.js;

+0

你都可以做 – Zamboney

+0

哦,我想嘗試第二個方案(由1測試他們1 ),我怎樣才能一一稱呼他們?我使用Karma-Jasmine,一旦我輸入「karma start」,它會執行所有以前的測試,但不是我想要的測試文件 – Brexter

回答

0

您應該爲您正在測試的每個文件創建一個Spec文件。有時,如果您正在測試的文件/模塊非常複雜,創建多個spec文件並將其捆綁到一個文件夾內可能是一個想法。

如果您使用的是Jasmine,我會建議您選擇一種技術,例如Require JS(或webpack或Browserify),這將允許您在規範文件中需要儘可能多的模塊/ JavaScript文件,並允許您保持測試的範圍有限。但是,如果您使用標準名稱空間JavaScript中的業力進行茉莉花測試的傳統方法,那麼您只需配置Karma以在測試運行之前加載JavaScript文件 - 這樣,所有文件將可用於測試範圍內的測試。

例如,karma.conf.js文件中:

files: [ 
     { 
      pattern: 'src/js/app/libs/**/*.js', 
      included: true 
     }, 
     { 
      pattern: 'src/js/app/modules/**/*.js', 
      included: true 
     }, 
     { 
      pattern: 'tests/jasmine/*/*Spec.js', 
      included: true 
     }, 
     // below line may not be needed outside of RequireJS scope 
     'tests/jasmine/config/karma-call.js' // where I loop for spec files 
    ] 

對於額外的閱讀:http://requirejs.org/

+0

這真棒!我會去看看requirejs如何幫助茉莉花測試更輕鬆地工作。謝啦! – Brexter

+0

是的,我喜歡需要模塊 - 它使代碼更容易管理,更容易測試!別擔心。 – Shakespeare