干燥茉莉花测试时出错

时间:2017-03-15 12:44:13

标签: javascript jasmine protractor

我正在尝试使用数据提供程序为多个输入运行我的jasmine测试。为此,我尝试使用以下链接使用jasmine-data-provider包:

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'

1 个答案:

答案 0 :(得分:1)

这里有一个问题:你提到的blog只为jasmine v1.2做了,但是jasmine-data-provider包用于更新版本的jasmine。 ,语法更改!

如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);
    });
});