| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | import { mount, createLocalVue } from '@vue/test-utils'import VueRouter from 'vue-router'import ElementUI from 'element-ui'import Breadcrumb from '@/components/Breadcrumb/index.vue'const localVue = createLocalVue()localVue.use(VueRouter)localVue.use(ElementUI)const routes = [  {    path: '/',    name: 'home',    children: [{      path: 'dashboard',      name: 'dashboard'    }]  },  {    path: '/menu',    name: 'menu',    children: [{      path: 'menu1',      name: 'menu1',      meta: { title: 'menu1' },      children: [{        path: 'menu1-1',        name: 'menu1-1',        meta: { title: 'menu1-1' }      },      {        path: 'menu1-2',        name: 'menu1-2',        redirect: 'noredirect',        meta: { title: 'menu1-2' },        children: [{          path: 'menu1-2-1',          name: 'menu1-2-1',          meta: { title: 'menu1-2-1' }        },        {          path: 'menu1-2-2',          name: 'menu1-2-2'        }]      }]    }]  }]const router = new VueRouter({  routes})describe('Breadcrumb.vue', () => {  const wrapper = mount(Breadcrumb, {    localVue,    router  })  it('dashboard', () => {    router.push('/dashboard')    const len = wrapper.findAll('.el-breadcrumb__inner').length    expect(len).toBe(1)  })  it('normal route', () => {    router.push('/menu/menu1')    const len = wrapper.findAll('.el-breadcrumb__inner').length    expect(len).toBe(2)  })  it('nested route', () => {    router.push('/menu/menu1/menu1-2/menu1-2-1')    const len = wrapper.findAll('.el-breadcrumb__inner').length    expect(len).toBe(4)  })  it('no meta.title', () => {    router.push('/menu/menu1/menu1-2/menu1-2-2')    const len = wrapper.findAll('.el-breadcrumb__inner').length    expect(len).toBe(3)  })  // it('click link', () => {  //   router.push('/menu/menu1/menu1-2/menu1-2-2')  //   const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner')  //   const second = breadcrumbArray.at(1)  //   console.log(breadcrumbArray)  //   const href = second.find('a').attributes().href  //   expect(href).toBe('#/menu/menu1')  // })  // it('noRedirect', () => {  //   router.push('/menu/menu1/menu1-2/menu1-2-1')  //   const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner')  //   const redirectBreadcrumb = breadcrumbArray.at(2)  //   expect(redirectBreadcrumb.contains('a')).toBe(false)  // })  it('last breadcrumb', () => {    router.push('/menu/menu1/menu1-2/menu1-2-1')    const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner')    const redirectBreadcrumb = breadcrumbArray.at(3)    expect(redirectBreadcrumb.contains('a')).toBe(false)  })})
 |