2017-03-15 118 views
0

我正在嘗試使用數據提供程序對多個輸入運行我的茉莉花測試。對於此,我嘗試使用下面的鏈接繼續用茉莉花數據提供程序包:乾燥茉莉花測試時出錯

http://blog.jphpsf.com/2012/08/30/drying-up-your-javascript-jasmine-tests

但是當我運行我的測試,我得到它,我無法解決的錯誤。

我的測試:

using("multiple inputs",["a","b"], function(input) { 
    it("should check the header for: ", function() { 
     mainPage.screen(input, 'cdcd'); 
     expect(mainPage.mainHeader.getText()).toEqual(mainData.mainHeaderText); 
    }); 
}); 

錯誤我得到:

TypeError: Cannot assign to read only property '0' of string 'multiple inputs' 
+0

它正常工作規範? (通常情況下,我的意思是不使用'使用') – tanmay

+0

是的,它確實工作 – Ravi

+0

並且您確實已經實現了博客中提到的自定義'using'功能。 – tanmay

回答

1

這裏的漁獲:在blog你提到過它茉莉V1.2僅取得,但jasmine-data-provider包是更高版本茉莉花。 但是,語法改變!

正如在npm模塊頁面上的示例中所述,using函數預計輸入數組作爲第一個參數而不是博客文章中提到的輸入數組。

這就解釋了爲什麼你得到了以下錯誤:

TypeError: Cannot assign to read only property '0' of string 'multiple inputs' 

這裏的例子代碼段,應該工作:

var using = require('jasmine-data-provider'); 

... 

using(["a","b"], function(input) { 
    it("should check the header for: ", function() { 
     mainPage.screen(input, 'cdcd'); 
     expect(mainPage.mainHeader.getText()).toEqual(mainData.mainHeaderText); 
    }); 
});