vue中的单元测试

生成项目的时候一定要选择Jest选项,然后项目目录有tests文件夹
vue中的单元测试_第1张图片

单元测试都写在unit这个文件夹里面,单元测试的具体内容

import HelloWorld from '@/components/HelloWorld.vue'
import Vue from 'vue'

it ('测试HelloWorld', () => {
  let BaseVue = Vue.extend(HelloWorld) // 获取组件的构造函数
  let vm = new BaseVue({
    propsData: {
      msg: 'hello'
    }
  }).$mount()

  expect(vm.$el.innerHTML).toMatch('hello')
  vm.$destory()
})

vue 为了方法专门提供了测试的一些方法@vue/test-utils

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

describe('HelloWorld.vue', () => {
  it('renders props.msg when passed', () => {
    const msg = 'new message'
    const wrapper = shallowMount(HelloWorld, {
      propsData: { msg }
    })
    expect(wrapper.text()).toMatch(msg)
  })
})

这个测试的库里面有很多方法

TDD测试驱动开发,先写测试用例,再开发功能,测试覆盖率高
BDD行为驱动开发,先开发代码,在测试最后结果
集成测试,只测试大的组件,而不测试子组件,覆盖率低,功能能实现
https://cn.vuejs.org/v2/guide/unit-testing.html

你可能感兴趣的:(单元测试,jest)