如何使用 vue-test-utils 和 jest 在单元测试期间模拟 Vue Mixins?

新手上路,请多包涵

我读了 3 遍 vue-utils-test 文档和 jest 文档,但我不知道如何在 vue 组件中模拟 vue mixins 并测试组件。

原文由 Madhu Sudhan Subedi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 838
2 个回答

有两种方式:

  1. 您可以使用 createLocalVue ,并在该 localVue 类上注册一个 mixin:
 const localVue = createLocalVue()
localVue.mixin(myMixin)

const wrapper = shallow(Post, {
    localVue,
})

  1. 您可以在安装选项中传递 mixins
 const wrapper = shallow(Post, {
    mixins: [myMixin],
})

原文由 Edward 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于那些使用 Vue 3 和 Vue Test Utils 的人,那么你只需要模拟单个方法,例如使用 Jest。照常传递你的 myMixin ,然后监视你想要模拟的方法:

     const wrapper = mount(Post, {
        global: {
            mixins: [myMixin],
        },
    } as any)

    jest.spyOn(wrapper.vm, 'myMixinMethodToMock').mockImplementation()

请注意,Jest 模拟它时并不关心该方法是在 mixin 上,而不是在 Vue 组件上。

原文由 Paul F. Wood 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题