Vue test utils не распознает $ http в тестах - PullRequest
0 голосов
/ 25 мая 2018

У вас есть приложение Vue с настройкой axios, которое использует его как this.$http.get в компонентах, и это работает нормально.

При запуске спецификаций с использованием Jest я получаю ошибку: Cannot read property 'get' of undefined

Я знаю, что могу издеваться над аксио с помощью максио.Как заставить Jest распознать $ http, чтобы он не выдавал ошибку?

1 Ответ

0 голосов
/ 25 мая 2018

Вам нужно будет создать локальный экземпляр 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 ...
})
...