使用vue-test-utils配置过滤器

Har*_*old 3 vue.js vue-component vue-test-utils

我们如何使用全局应用的过滤器配置组件安装?我认为这将是传递给createLocalVue的一些选项,但我在文档中没有看到它。

使用全局过滤器时,运行套件时在控制台中收到以下警告:

[Vue warn]: Failed to resolve filter: filterName
Run Code Online (Sandbox Code Playgroud)

wrapper.html()处的字符串包括预先计算的值,未应用过滤器,例如

{{ 'a string' | throughFilter }}
Run Code Online (Sandbox Code Playgroud)

还是

'a string'
Run Code Online (Sandbox Code Playgroud)

该过滤器可以在浏览器中工作,并且可以作为功能对其自身进行测试,但是我不想附带警告代码。

Edd*_*Edd 5

createLocalVue返回Vue构造函数,其中包括filter用于注册过滤器的方法:

import { createLocalVue, mount } from '@vue/test-utils'

const localVue = createLocalVue()

localVue.filter('myFilter', myFilter)

mount(TestComponent, {
  localVue
})
Run Code Online (Sandbox Code Playgroud)

或者,您可以在安装组件之前在Vue构造函数上全局安装过滤器:

import Vue from 'vue'

Vue.filter('myFilter', myFilter)

mount(TestComponent)
Run Code Online (Sandbox Code Playgroud)