Vue和Jest单元测试组件

时间:2018-07-25 13:59:48

标签: javascript unit-testing vue.js vuejs2 jestjs

我在 Vue js 中是个新手,我从 Jest 开始进行单元测试。我不知道从哪里开始以及如何开始。我有一段我想使用Jest测试的Vue代码。任何提示或想法,我都会非常感激。 我读到应该使用 Vue test-utils 中的 shallowMount 来避免在组件测试期间出现麻烦

<template >
  <div class="wrapper">
    <div class="user">
      <span>{{ user.substr(0, 4) }}</span>
    </div>
  </div>
</template>
<script>
export default {
  props: {
    user: {
      type: String,
      required: true
    }
  }
}
</script>

此刻我有类似的东西,但我不知道如何连接

import { shallowMount } from '@vue/test-utils'
import User from '../User.vue'


describe('User', () => {
  it('Should substract four letters', () => {
    const wrapper = shallowMount(User, {
      props: {
        ''
      }
    })
  })
})

1 个答案:

答案 0 :(得分:0)

您可以阅读vue-test-utils官方文档,它非常清楚且很有帮助。要了解如何模拟函数,存根和其他测试内容,请参见Jest文档。

在您的示例中-使用propsData而不是props(请参见上面的文档),然后应以一些断言(检查期望)结束每个测试用例:

describe('User', () => {
   it('Should substract four letters', () => {
      const wrapper = shallowMount(User, {
      propsData: {
        user: 'User00000000'
      }
    })
   // check that span element has correct substring
   expect(wrapper.find(".user span").text()).toBe('User');
  })
})