Jest / Vue:注册组件

时间:2018-02-18 21:55:30

标签: vue.js vuejs2 jestjs vue-component yarnpkg

为什么我不能在我的Jest规范中安装我的组件(为简洁起见,这里省略了大部分代码)?

# Photos.vue
<script>
  import Vue from 'vue'

  export default {
    name: 'photos'
    data: function () {
      ...
    }
  }
</script>

这是我的规范:

# Photos.test.js
import Vue from 'vue'
import { mount } from '@vue/test-utils'

Vue.component('photos', require('./Photos.vue').default)

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

这是错误:

ReferenceError: photos is not defined

   6 | describe('photos', () => {
   7 |   test('is a Vue instance', () => {
>  8 |     const wrapper = mount(photos)

1 个答案:

答案 0 :(得分:1)

您无法使用照片,因为您没有定义照片。

# Photos.test.js
import Vue from 'vue'
import { mount } from '@vue/test-utils'

let photos = require('./Photos.vue')
Vue.component('photos', photos)

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