使用带有Nuxt组件的Jest时无法读取未定义的属性$ loading

时间:2019-03-05 17:35:01

标签: unit-testing vue.js jestjs nuxt.js vue-test-utils

当我尝试使用nuxt和jest测试我的组件之一时,出现以下错误:

Cannot read property '$loading' of undefined

这是由我组件中的以下代码行引起的

this.$nuxt.$loading.start()

在组件上运行测试时,如何防止发生此错误?

测试文件如下:

import { mount } from '@vue/test-utils'
import Converter from '@/components/Converter.vue'

describe('Converter', () => {
  test('is a Vue instance', () => {
    const wrapper = mount(Converter)
    expect(wrapper.isVueInstance()).toBeTruthy()
  })
})

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。解决方案是像这样模拟nuxt:

const wrapper = mount(Converter, {
  mocks: {
    $nuxt: {
      $loading: {
        start: () => {}
      }
    }
  }
})