- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正忙于用 jest 对 vue 组件的路由行为进行单元测试。离开组件时,Vue-router 的 'beforeRouteLeave' 导航守卫会运行一些逻辑。这个守卫在我的生产中运行的应用程序中被调用,但是当我尝试测试它时不会被调用。
我使用 jest 作为测试框架和 vue-test-utils 来挂载我的组件并使用 vue-router 设置本地 Vue 实例。
在这里您可以找到一个最小的工作示例(在 'src/components/HelloWorld.spec' 中测试):
https://codesandbox.io/s/72536ojvp6?module=%2Fsrc%2Fcomponents%2FHelloWorld.spec.js
为什么没有调用路由器 Hook ,我怎样才能让它工作?
提前致谢!
最佳答案
对我来说,以下代码可以很好地测试 vue 路由器导航防护。
const beforeRouteUpdate = wrapper.vm.$options.beforeRouteUpdate[0];
let nextFun = jest.fn();
// in place wrapper.vm you can send any object you want bcz when we call beforeRouteUpdate it looses this context
beforeRouteUpdate.call(wrapper.vm , "toObj", "fromObj", nextFun);
关于javascript - 在 vue 组件上测试导航保护 'beforeRouteLeave',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51380878/
我目前正忙于用 jest 对 vue 组件的路由行为进行单元测试。离开组件时,Vue-router 的 'beforeRouteLeave' 导航守卫会运行一些逻辑。这个守卫在我的生产中运行的应用程序
我有一个简单的问题。我只想在路线更改时取消子组件。这是一个示例。有一个家庭组件,它是父组件。它有一个子组件。我只想在挂载的子组件中的路由发生变化时停止间隔函数 import Home from "./
尝试访问 beforeRouteLeave 内的数据,但一切都是未定义 下面的代码 ... ... export default { name: 'blog-new',
我是一名优秀的程序员,十分优秀!