我无法让 useRoute() 开玩笑。它在开发/生产中运行良好,只是开玩笑。
我正在使用 vue-testing-library;
在我的测试中:
beforeEach(async () => {
wrapper = render(ResetPassword, {
global: {
plugins: [router],
},
});
await router.push("/forgot-password/link/I-am-a-hash");
console.log(router.currentRoute.value.params); // this correctly logs {hash: 'I-am-a-hash'}
await router.isReady();
});
但是在我的组件中运行测试时:
const route = useRoute();
console.log({route}) // {route: {}} - should be {route: {...stuff, params: {hash: 'I-am-a-hash}}}
请注意,我并不是要模拟路由器 - 我在此测试中使用的是我的实际路由器。这似乎在测试中起作用——似乎只有 useRoute() 被破坏了。