gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 09:42:42 25 4
gpt4 key购买 nike

我想测试Test.vue中的testMethod,但是testMethod使用了从App.js导入的mixin。

测试.vue

<script>
export default {
methods: {
testMethod() {
return 'get'+this.getTestMixin();
}
},
};
</script>

mixins/common.js
export default {
methods: {
getTestMixin() {
return 'test';
},
},
};

如何模拟mixin?我试图像下面这样模拟mixin但失败了,知道我哪里做错了吗?
function getTestMixin() {
return 'test';
}

const localVue = createLocalVue()
localVue.mixin(getTestMixin)

const wrapper = shallowMount(Test, {
localVue,
})

错误信息如下:
TypeError: Cannot read property 'props' of undefined
46 | beforeEach(() => {
> 47 | wrapper = shallowMount(Test, {
| ^
48 | localVue,
49 | });
50 | });

最佳答案

如果在浅安装之前替换 Mixin,则可以模拟 Mixin。就像是:

const localVue = createLocalVue();

const mockMixin = {
methods: {
mixinMethod() {
return 'test';
},
}
}

const MockedTestComponent = { ...TestComponent, mixins: [mockMixin] };

const wrapper = shallowMount(MockedTestComponent, {
localVue,
});

expect(wrapper.vm.mixinMethod()).toEqual('test');

关于unit-testing - 如何在单元测试期间使用 vue-test-utils 和 jest 模拟 mixin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55204574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com