Javascript 让capybara在rails中使用vue.js
我最近在vuejs中添加了一个功能,但在测试时遇到了问题 我创建了一个spec文件,用于简单地访问页面,但是在我的html中,任何具有逻辑的内容,例如Javascript 让capybara在rails中使用vue.js,javascript,ruby-on-rails,capybara,vue.js,Javascript,Ruby On Rails,Capybara,Vue.js,我最近在vuejs中添加了一个功能,但在测试时遇到了问题 我创建了一个spec文件,用于简单地访问页面,但是在我的html中,任何具有逻辑的内容,例如v-show,都不会在测试中呈现。我添加了一个onload,看看它是否可以渲染 window.onload = function () { new Vue({ el: 'body', .... }); } 但在运行规范时,我仍然会收到多个vue警告,如下所示: [Vue warn]: Error when evaluati
v-show
,都不会在测试中呈现。我添加了一个onload,看看它是否可以渲染
window.onload = function () {
new Vue({
el: 'body',
....
});
}
但在运行规范时,我仍然会收到多个vue警告,如下所示:
[Vue warn]: Error when evaluating expression "settingIds.includes(setting.id)": TypeError: 'undefined' is not a
function (evaluating 'scope.settingsIds.includes(scope.setting.id)')`
注意:我使用的是localstorage,我的一些视图逻辑依赖于它,我不确定capybara是否支持它假设settingsIds是一个数组-includes是一个ES7方法,PhantomJS或IE不支持它(最新的PhantomJS 2.1.1,您应该运行,支持ES5)-您需要不使用ES6/7方法重写代码,将其转码到ES5,或使用poltergeist扩展选项polyfill您使用的是什么驱动程序?@TomWalpole PolterGeistasuming settingsIds是一个数组-
includes
是PhantomJS或IE不支持的ES7方法(您应该运行的最新2.1.1支持ES5)-您需要重写代码,而不是使用ES6/7方法或使用poltergeist扩展的polyfilloption@TomWalpole谢谢,这个问题解决了,我把它作为一个答案,这样你就可以把这个问题标记为解决了