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。