2013-07-21 30 views
1

Jasmine是我最喜歡的測試JavaScript框架。到目前爲止,我已經寫了規格沒有任何問題。如何爲每個啓動配置多次運行相同的規格

但有一天,我決定擴展我的應用程序(它只是簡單的思維導圖工具),而不是一個圖形類型。現在它支持「Wbs」和「Orgchart」數據模型。很明顯,我不想將以前的數據模型的所有當前規範複製到新創建的數據模型中。

可能在我的情況下,它將足以解決一個全球beforeEach功能?現在,它看起來像

var graph; 
beforeEach(function() { 
    graph = new Graph({ 
    template: Templates.Orgchart 
    }); 
}); 

所以,問題是我怎麼能做出同樣的規格爲每種類型的我的數據模型的運行。或者如果有什麼方法可以將參數傳遞給jasmine.getEnv().execute()?任何幫助將不勝感激,謝謝。

回答

1

你可以在一個循環中運行測試:

['Wbs', 'Orgchart'].forEach(function(dataModel){ 

    var graph; 
    beforeEach(function() { 
    graph = new Graph({ 
     template: Templates[dataModel] 
    }); 
    }); 

    describe('with ' + dataModel, function(){ 
//your tests 
    }) 


}) 
+0

真棒,它的工作原理。謝謝 – hsestupin

相關問題