element ui 使用@vue/test-utils测试,无法触发button
vue
<template>
<div class="hello">
// 这种方式不行
<el-button type="primary" @click="add()" id="add">新增</el-button>
// 这种方式可以通过测试
<div id="add" @click="add()"></div>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data() {
return {
count: 0
}
},
methods: {
add() {
this.count++
console.log(this.count);
}
}
}
</script>
test
import { shallowMount, createLocalVue } from '@vue/test-utils'
import HelloWorld from '../../src/views/HelloWorld.vue'
import ElementUI from 'element-ui';
const localVue = createLocalVue();
localVue.use(ElementUI);
describe('HelloWorld.vue', () => {
it('测试count组件能否正常显示并增加', () => {
const wrapper = shallowMount(HelloWorld, {localVue})
expect(wrapper.vm.count).toBe(0)
wrapper.find('#add').trigger('click')
expect(wrapper.vm.count).toBe(1)
})
})
用element ui 的就不能通过测试,没有触发btn
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SOF找到了,改为
mount
就可以了你好,我使用了mount,但是还是找不到ELement UI 写的button。请问你遇到过吗,怎样解决呢。感觉是测试时,Element UI并没有生成DOM,请问你知道如何解决吗?
Jest配置如下: