undefined 不是构造函数
undefined is not a constructor
我正在使用 rails 4, capybara, poltergeist 来测试我的 rails 4 + angularjs 应用程序。在我的 angular 应用程序中,我的指令控制器中有一个地方有以下代码。
var audience = [someObject1, someObject2, someObject3].findIndex(function(object) {
return object.id === 1;
});
我在测试时遇到了以下错误
Error: undefined is not a constructor (evaluating '[1,2,3].findIndex(function(v) { return v === 1; })')
实际上它甚至不允许我有这样的东西
[1, 2, 3].findIndex(function(v) {
return v === 1;
});
谁知道为什么闹鬼不喜欢 Javascript 的 find
和 findIndex
方法?
find 和 findIndex 是 ES6 方法,可能不受 phantomJs 支持。如果你不是 运行 phantomjs 2.1.1,你可以尝试更新到那个,否则你可以使用你的 poltergeist 驱动程序配置中的 extensions
选项加载 polyfill,或者重写你的代码以不使用 ES6 方法
我正在使用 rails 4, capybara, poltergeist 来测试我的 rails 4 + angularjs 应用程序。在我的 angular 应用程序中,我的指令控制器中有一个地方有以下代码。
var audience = [someObject1, someObject2, someObject3].findIndex(function(object) {
return object.id === 1;
});
我在测试时遇到了以下错误
Error: undefined is not a constructor (evaluating '[1,2,3].findIndex(function(v) { return v === 1; })')
实际上它甚至不允许我有这样的东西
[1, 2, 3].findIndex(function(v) {
return v === 1;
});
谁知道为什么闹鬼不喜欢 Javascript 的 find
和 findIndex
方法?
find 和 findIndex 是 ES6 方法,可能不受 phantomJs 支持。如果你不是 运行 phantomjs 2.1.1,你可以尝试更新到那个,否则你可以使用你的 poltergeist 驱动程序配置中的 extensions
选项加载 polyfill,或者重写你的代码以不使用 ES6 方法