单元测试——引入vue-router和APP.vue文件
1 import App from "@/App.vue" 2 import Vue from 'vue'; 3 import { shallowMount, mount, createLocalVue } from "@vue/test-utils" 4 import "babel-polyfill"; // 主要是为了引入async不报错 5 import routes from "@/common/router.js" // 路由配置 6 import NoLimit from '@/views/tips/noLimit.vue' // 组件 7 import VueRouter from "vue-router" 8 const localVue = createLocalVue() 9 localVue.use(VueRouter) 10 describe('App', function(){ 11 let app 12 let vm 13 beforeEach(function() { 14 // 在本区块的每个测试用例之前执行 15 }); 16 afterEach(function() { 17 // 在本区块的每个测试用例之后执行 18 app.destroy(); //销毁组件 19 }); 20 it('app首页', async()=>{ 21 const router = new VueRouter({ routes }) 22 app = mount( App ,{ 23 localVue, 24 router 25 }); 26 router.push({ 27 path: '/tips', 28 query: { 29 descriptionCn: '无权限' 30 } 31 }) 32 vm = app.vm; 33 expect(vm.name).toBe('dahei') 34 }); 35 })
在写单元测试的时候,有时候为了获取路由传过来的参数;或者为了解决不存在<router-view>标签报错,需要引入vue-router。