element ui 使用@vue/test-utils测试,无法触发button

发布于 2022-09-11 23:02:28 字数 1061 浏览 36 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瞎闹 2022-09-18 23:02:28

SOF找到了,改为mount就可以了

凉薄对峙 2022-09-18 23:02:28

你好,我使用了mount,但是还是找不到ELement UI 写的button。请问你遇到过吗,怎样解决呢。感觉是测试时,Element UI并没有生成DOM,请问你知道如何解决吗?
Jest配置如下:
图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文