vue3 + jest 使用记录

3 篇文章 0 订阅

vue3 + jest + VTU使用问题记录

1、判断dom元素中是否包含某个元素
import addEditUser from '@/views/UserManage/addUser.vue'
import ElementPlus from 'element-plus'
import { mount } from '@vue/test-utils'

describe('addEditUser', () => {
  const wrapper = mount(addEditUser, {
    global: {
      plugins: [ElementPlus]
    }
  })
  test('测试dom元素', () => {
    expect(wrapper.html()).toContain('<span class="">保存</span>')
    expect(wrapper.html()).toContain('<span class="">取消</span>')
   })
})
2、获取不到dialog的body(只能获取到其header和footer)
test('测试dom元素', async () => {
    await wrapper.vm.$nextTick()
    console.log(wrapper.html()) // 此时打印的html中是有dialog的el-dialog__body
 })
3、修改组件ref、props……定义的数据
组件
<template>
<input />
</template>
<script setup>
import { ref, defineProps } from 'vue'
const props = defineProps({
title: { type: String } 
})
const isDialogAddVisible = ref(true)
</script>

测试文件
import userManage from '@/views/UserManage/userManage.vue'
import ElementPlus from 'element-plus'
import { mount } from '@vue/test-utils'

describe('userManage ', () => {
  const wrapper = mount(userManage , {
    global: {
      plugins: [ElementPlus]
    }
  })
  test('测试修改组件的数据', async () => {
  // 修改ref定义的值
    wrapper.vm.isDialogAddVisible = false // 直接赋值就可以,之前傻傻的使用setData、setValue结果并不能赋值
    // 修改props的值,也可以在mount中直接设置
    // 链接:https://v1.test-utils.vuejs.org/zh/api/wrapper/#setprops
    await wrapper.setProps({ title: '标题' }) // 需要加await
    // 设置一个DOM元素的值
    // 链接: https://v1.test-utils.vuejs.org/zh/api/wrapper/#setvalue
    const input = wrapper.find('input')
    await input.setValue('输入')
   })
})
4、判断页面中的某个函数是否被调用
import userManage from '../views/userManagement/index.vue'
import ElementPlus from 'element-plus'
import { mount } from '@vue/test-utils'
describe('userManage', () => {
	const wrapper = mount(userManage, {
    global: {
      plugins: [ElementPlus]
    }
  })
  it('测试页面的某个函数是否被调用', async () => {
  	const spyFn = jest.spyOn(wrapper.vm, 'getTableData')
    wrapper.vm.getTableData()
    expect(spyFn).toBeCalled()
  })
})
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao_cheng_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值