Vuejs2 vue测试url在单击的按钮上失败
Vuejs2 vue测试url在单击的按钮上失败,vuejs2,vue-test-utils,Vuejs2,Vue Test Utils,我想在Vuejs上创建一个简单的测试。 目的是单击路由器链接并证明路径名正确。 代码如下: describe("Menu.vue", () => { const localVue = createLocalVue(); localVue.use(VueRouter); test("click on first routes to ./first", async () => { const wrapper = shallowMount(Menu, {
我想在Vuejs上创建一个简单的测试。 目的是单击路由器链接并证明路径名正确。 代码如下:
describe("Menu.vue", () => {
const localVue = createLocalVue();
localVue.use(VueRouter);
test("click on first routes to ./first", async () => {
const wrapper = shallowMount(Menu, {
localVue,
router,
stubs: {
RouterLink: RouterLinkStub,
First
}
});
await wrapper.find("#testFirst").trigger("click");
await Vue.nextTick();
expect(wrapper.find("#testFirst").exists()).toBe(true);
await flushPromises();
expect(location.pathname).toBe("/first")
});
});
主要组件是一个带有路由器链接id testFirst的Menu.vue,错误来自expect失败的最后一行。
另一个组件名为first.vue。
第一个expect通过证明#testFirst存在它需要“/第一个”并收到“/”
感谢您不用检查您可以测试的位置路径名
expect(wrapper.vm.$route.push).toHaveBeenCalledWith({YOUR route})
为此,您必须模拟$route push方法,在为组件网创建包装时,可以在存根中执行该方法
mocks: {
$router:{
push:jest.fn()
}
}
这是测试文件夹中的代码