让水豚在 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