bugfix> vue.js > 投稿

axiosが設定されたVueアプリを持ち、それを this.$http.get として使用していますコンポーネントで、それはうまく機能しています。

Jestを使用して仕様を実行すると、エラーが発生します: Cannot read property 'get' of undefined

axiosをmaxiosでモックできることは知っています。エラーをスローしないようにJestに$httpを認識させるにはどうすればよいですか?

回答 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 ...
    })
    
    

あなたの答え