【问题标题】:How to mock $el property in JEST vue-test-utils?如何在 JEST vue-test-utils 中模拟 $el 属性?
【发布时间】:2020-06-08 06:34:33
【问题描述】:

测试组件时如何模拟$el属性(指向组件的HTML元素)?我需要在mounted() 挂钩中访问模拟的$el。下面的解决方案不起作用。

const wrapper = shallowMount(Component, {
     mocks: {
            $el: { 
               //some properties 
            }
     }
})

//编辑

好的,我找到了解决方法。

如果您需要在 created/mounted 钩子中访问 this.$parentthis.$el,只需在方法中编写一个 getter 方法,然后在包装器中模拟它并用模拟方法替换 this.$parent/this.$el

const wrapper = mount(Component, 
methods: { 
   getEl: () => {}
}

.

【问题讨论】:

    标签: javascript unit-testing vue.js jestjs vue-test-utils


    【解决方案1】:

    也可以这样模拟:

    wrapper.vm.$el = {
        offsetWidth: 1200,
        offsetHeight: 1000
    };
    

    【讨论】:

    • 这在挂载的钩子中不起作用 - 在组件被挂载之前,您无法访问 wrapper.vm
    猜你喜欢
    • 2018-09-01
    • 2020-05-03
    • 2018-04-29
    • 2019-08-07
    • 2021-08-11
    • 1970-01-01
    • 2020-08-08
    • 2019-02-10
    • 2021-09-19
    相关资源
    最近更新 更多