Vue路由单元测试-?

问题描述 投票:1回答:1

我正在尝试进行单元测试:路由路径。

router / index.js(index.js是路由器文件夹中具有路径的文件)

import Vue from 'vue'
import Router from 'vue-router'
import Login00Z from '@/components/Login00Z'


Vue.use(Router)

export default new Router({
    mode:'history',
    routes: [
        { path: '/', name: 'default', component: Login00Z },
        { path: '/', redirect: {name: 'login00Z'} },
        { path: '/login00Z', name: 'login00Z', component: Login00Z }
    ]
})

specs / app.spec.js(app.spec.js是specs文件夹中具有单元测试的文件)

import sinon from 'sinon'
import { expect } from 'chai'
import Vuetify from 'vuetify'
import { mount, shallowMount, createLocalVue } from '@vue/test-utils'
import VueRouter from 'vue-router'
import App from '@/App.vue'
import Login00Z from '@/components/Login00Z.vue'

describe('App.vue', () => {

    const localVue = createLocalVue()
    localVue.use(VueRouter)
    const router = new VueRouter()
    const wrapper = shallowMount(App, {
        Login00Z,
        localVue,
        router,
        stubs: ['v-navigation-drawer', 'v-list', 'v-list-tile',
         'v-list-tile-action', 'v-icon', 'v-list-tile-content',
         'v-list-tile-title', 'v-toolbar', 'v-toolbar-side-icon',
         'v-icon', 'v-toolbar-title', 'v-spacer', 'router-link',
         'router-view', 'v-app', 'v-btn','v-content',
         'v-slide-y-transition','v-layout', 'v-footer']
    })

    it('app loads with correct route', () => {
        expect(wrapper.vm.$route.path).to.equal('/')
    })

});

好的,让我解释一下:

您可以看到已经进行了一项测试。路径应该相等到(’/’),这确实有效,测试通过。当我编写完全相同的代码时并且仅将('/')更改为('/ login00Z')测试失败。现在我知道无法正常工作,我尝试了许多不同的方法,但仍然无法确定指出如何进行这项工作。

有没有人可以帮助我测试(/模拟)'/ login00Z'路径?我是如果我知道如何做到这一点,那么我可以轻松地继续我的工作。

javascript unit-testing vue.js mocha chai
1个回答
0
投票
您找到解决方案了吗?我有同样的问题
© www.soinside.com 2019 - 2024. All rights reserved.