让水豚在 rails 中与 vue.js 一起工作
getting capybara to work with vue.js in rails
我最近在 vuejs 中添加了一个功能,但在测试时遇到了问题。
我创建了一个用于访问该页面的规范文件,但我的 html 上任何具有诸如 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,我不确定水豚是否支持它
假设 settingIds 是一个数组 - includes 是一个 ES7 方法,PhantomJS 或 IE 不支持(最新的 PhantomJS 2.1.1,你应该 运行,支持的是 ES5) - 你会需要不使用 ES6/7 方法重写代码,将其转码为 ES5,或使用 poltergeist 扩展选项
进行 polyfill
我最近在 vuejs 中添加了一个功能,但在测试时遇到了问题。
我创建了一个用于访问该页面的规范文件,但我的 html 上任何具有诸如 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,我不确定水豚是否支持它
假设 settingIds 是一个数组 - includes 是一个 ES7 方法,PhantomJS 或 IE 不支持(最新的 PhantomJS 2.1.1,你应该 运行,支持的是 ES5) - 你会需要不使用 ES6/7 方法重写代码,将其转码为 ES5,或使用 poltergeist 扩展选项
进行 polyfill