2017-03-15 78 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); 
    }); 
});