2016-06-17 2 views
1

Я использую рельсы 4, capybara, poltergeist для проверки моих рельсов 4 + angularjs app. В моем угловом приложении есть место, в котором у меня есть код внизу моего контроллера.undefined не является конструктором

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

кто-нибудь знает, почему полтергейст не нравится find и findIndex метод Javascript?

ответ

6

find и findIndex являются методами ES6 и, вероятно, не поддерживаются phantomJs. Если вы не используете phantomjs 2.1.1, вы можете попробовать обновить его, в противном случае вы можете либо загрузить polyfills, используя опцию extensions, в свою конфигурацию драйвера poltergeist, либо переписать код, чтобы не использовать методы ES6.

+2

это все еще проблема в последних фантомах (2.1.1) –

Смежные вопросы