Vue测试工具在测试中无法识别$ http

时间:2018-05-25 11:58:54

标签: vue.js axios jestjs vue-test-utils

拥有一个带有axios设置的Vue应用程序,并在组件中将其用作targetSdkVersion,并且运行正常。

使用Jest运行规范时出现错误:this.$http.get

我知道我可以用maxios嘲笑axios。如何让Jest识别$ http,这样就不会出错?

1 个答案:

答案 0 :(得分:1)

您需要为测试创建一个Vue的本地实例,并向其中介绍您正在使用的Vue插件,例如axios。

import { createLocalVue, shallowMount } from "@vue/test-utils"
import axios from 'axios'
import VueAxios from 'vue-axios'


const localVue = createLocalVue();
localVue.use(VueAxios, axios)

以后,在你的实际测试中:

it('should mount the component where I want to use $http', () => {
    const wrapper = shallowMount(MyApiComponent, { localVue });
    ... do stuff to wrapper here ...
})