undefined不是构造函数

Zhi*_*ing 1 javascript capybara poltergeist

我正在使用rails 4,capybara,poltergeist来测试我的rails 4 + angularjs app.在我的角度应用程序中,有一个地方,我在我的指令控制器中有下面的代码.

var audience = [someObject1, someObject2, someObject3].findIndex(function(object) {
  return object.id === 1;
});
Run Code Online (Sandbox Code Playgroud)

测试期间我收到以下错误

Error: undefined is not a constructor (evaluating '[1,2,3].findIndex(function(v) { return v === 1; })')
Run Code Online (Sandbox Code Playgroud)

实际上它甚至不允许我有这样的东西

[1, 2, 3].findIndex(function(v) {
  return v === 1;
});
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么poltergeist不喜欢findfindIndexJavascript的方法?

Tho*_*ole 6

find和findIndex是ES6方法,phantomJs可能不支持.如果您没有运行phantomjs 2.1.1,您可以尝试更新,否则您可以使用extensionspoltergeist驱动程序配置中的选项加载polyfill ,或者重写代码以不使用ES6方法

  • 这仍是最新幻影中的一个问题(2.1.1) (2认同)