项目背景
基于 Vue 3.4的 defineModel 语法糖实现双向绑定功能测试,通过实际组件开发验证其可行性,并将单元测试覆盖率提升至 80% 以上。
技术实现
- 组件封装
采用<script setup>语法结合 defineModel 开发 Counter 组件:
const count = defineModel<number>({ default: 0 })
- 测试方案
使用Vitest + @vue/test-utils编写测试用例:
it('点击+1按钮', async () => {
const wrapper = mount(Counter, { props: { modelValue: 0 } })
await wrapper.trigger('click')
expect(wrapper.text()).toContain('1')
})
- 覆盖率提升
执行pnpm test --coverage生成覆盖率报告,针对性补充测试用例直至达标。
成果展示
- 组件:1 个
- 测试用例:5 个
- 语句覆盖率:82%
- 测试耗时:<1 秒
- CI 流程:稳定通过
- 项目徽章:集成至 README

被折叠的 条评论
为什么被折叠?



