Skip to content

test(popconfirm): improve popconfirm test coverage - #6896

Open
zhangpaopao0609 wants to merge 1 commit into
developfrom
test/popconfirm-coverage
Open

test(popconfirm): improve popconfirm test coverage#6896
zhangpaopao0609 wants to merge 1 commit into
developfrom
test/popconfirm-coverage

Conversation

@zhangpaopao0609

Copy link
Copy Markdown
Collaborator

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 新特性提交
  • 文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • CI/CD 改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他

🔗 相关 Issue

💡 需求背景和解决方案

本 PR 仅重写 Popconfirm 测试,不修改组件源码。

原测试只有 1 个空名称用例,仅断言组件能够挂载;Popconfirm 的 props、String / Object / Function / Slot 多形态 TNode、Popup 属性透传、受控与非受控状态、v-model、事件上下文和生命周期均没有覆盖。

本次直接替换旧测试文件,重写为 40 个用例,覆盖:

  • cancelBtnconfirmBtn 的 String / Object / Function / Slot / null 形态;
  • contentdefaulticontriggerElement 的 String / Function / Slot 形态及优先级;
  • destroyOnClose、全部 placementpopupProps 透传与覆盖顺序、showArrow、全部 theme
  • visiblemodelValuedefaultVisible 三种状态模式;
  • cancel、confirm、visible-change 事件及完整 context、update:visibleupdate:modelValue
  • Popup 子组件卸载生命周期。

测试结构参照 Form 组件规范:顶层使用真实组件名,内部按 propseventslifecycle 组织;API 用例采用 :prop[type] 命名,String / Function / Slot 分开覆盖。旧测试被直接移除重写,没有快照或 ts-nocheck

覆盖率结果:

  • Popconfirm 目录:Statements 97.1% → 100%,Branches 66.66% → 100%,Functions 66.66% → 100%,Lines 97.1% → 100%。
  • popconfirm.tsx:Statements 94.62% → 100%,Branches 75% → 100%,Functions 57.14% → 100%,Lines 94.62% → 100%。
  • props.ts:Statements 100%,Branches 50% → 100%,Functions 100%,Lines 100%。

重写过程中确认 theme="" 会通过 validator,但图标映射得到 undefined,导致 Vue invalid vnode warning 且默认图标消失,详见 #6893。测试按当前真实行为断言,源码修复后会自然提醒同步更新。

✅ 验证

  • Popconfirm 普通模式:1 file / 40 tests passed
  • Popconfirm coverage 模式:1 file / 40 tests passed
  • Popconfirm 目录覆盖率:Statements / Branches / Functions / Lines 均为 100%
  • Vue 全量普通模式:155 files / 3610 tests passed(2 skipped / 3 todo)
  • Vue 全量 snapshot 模式:155 files / 3592 tests passed(20 skipped / 3 todo)
  • pnpm exec tsc --noEmit
  • ESLint --max-warnings 0
  • pnpm lint

📝 更新日志

  • 本条 PR 不需要纳入 Changelog

☑️ 请求合并前的自查清单

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • Changelog 已提供或无须提供

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 21.4 kB

ℹ️ View Unchanged
Filename Size
packages/auto-import-resolver/dist/index.cjs 10.7 kB
packages/auto-import-resolver/dist/index.js 10.7 kB

compressed-size-action::auto-import-resolver

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 3.55 kB

ℹ️ View Unchanged
Filename Size
packages/tdesign-vue-next-nuxt/dist/module.d.mts 551 B
packages/tdesign-vue-next-nuxt/dist/module.mjs 2.84 kB
packages/tdesign-vue-next-nuxt/dist/types.d.mts 164 B

compressed-size-action::tdesign-vue-next-nuxt

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 74.9 kB

ℹ️ View Unchanged
Filename Size
packages/tdesign-vue-next-chat/es/_chunks/dep-baff1c25.mjs 30.4 kB
packages/tdesign-vue-next-chat/es/_chunks/dep-f8739a7c.mjs 2.16 kB
packages/tdesign-vue-next-chat/es/attachments/index.mjs 240 B
packages/tdesign-vue-next-chat/es/chat-actionbar/chat-actionbar-props.mjs 364 B
packages/tdesign-vue-next-chat/es/chat-actionbar/chat-actionbar.mjs 1.57 kB
packages/tdesign-vue-next-chat/es/chat-actionbar/index.mjs 335 B
packages/tdesign-vue-next-chat/es/chat-content/chat-content-props.mjs 357 B
packages/tdesign-vue-next-chat/es/chat-content/chat-content.mjs 2.23 kB
packages/tdesign-vue-next-chat/es/chat-content/index.mjs 384 B
packages/tdesign-vue-next-chat/es/chat-engine/components/activity/index.mjs 321 B
packages/tdesign-vue-next-chat/es/chat-engine/components/activity/registry.mjs 406 B
packages/tdesign-vue-next-chat/es/chat-engine/components/activity/render.mjs 783 B
packages/tdesign-vue-next-chat/es/chat-engine/components/provider/agent-state.mjs 520 B
packages/tdesign-vue-next-chat/es/chat-engine/components/provider/index.mjs 219 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/ComponentErrorBoundary.mjs 549 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/createRegistry.mjs 978 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/index.mjs 258 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/useRegistrationListener.mjs 624 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/hoc.mjs 754 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/index.mjs 441 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/registry.mjs 409 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/render.mjs 339 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/index.mjs 345 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useAgentActivity.mjs 954 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useAgentState.mjs 1.22 kB
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useAgentToolcall.mjs 920 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useChat.mjs 685 B
packages/tdesign-vue-next-chat/es/chat-engine/index.mjs 561 B
packages/tdesign-vue-next-chat/es/chat-input/chat-input-props.mjs 352 B
packages/tdesign-vue-next-chat/es/chat-input/chat-input.mjs 1.53 kB
packages/tdesign-vue-next-chat/es/chat-input/index.mjs 320 B
packages/tdesign-vue-next-chat/es/chat-item/chat-item-props.mjs 432 B
packages/tdesign-vue-next-chat/es/chat-item/chat-item.mjs 1.98 kB
packages/tdesign-vue-next-chat/es/chat-item/index.mjs 431 B
packages/tdesign-vue-next-chat/es/chat-list/chat-list.mjs 2.78 kB
packages/tdesign-vue-next-chat/es/chat-list/index.mjs 365 B
packages/tdesign-vue-next-chat/es/chat-list/props.mjs 453 B
packages/tdesign-vue-next-chat/es/chat-loading/chat-loading-props.mjs 281 B
packages/tdesign-vue-next-chat/es/chat-loading/index.mjs 244 B
packages/tdesign-vue-next-chat/es/chat-markdown/index.mjs 260 B
packages/tdesign-vue-next-chat/es/chat-message/chat-message-props.mjs 435 B
packages/tdesign-vue-next-chat/es/chat-message/chat-message.mjs 1.25 kB
packages/tdesign-vue-next-chat/es/chat-message/index.mjs 318 B
packages/tdesign-vue-next-chat/es/chat-reasoning/chat-reasoning-props.mjs 421 B
packages/tdesign-vue-next-chat/es/chat-reasoning/chat-reasoning.mjs 1.19 kB
packages/tdesign-vue-next-chat/es/chat-reasoning/index.mjs 300 B
packages/tdesign-vue-next-chat/es/chat-sender/chat-sender-props.mjs 366 B
packages/tdesign-vue-next-chat/es/chat-sender/chat-sender.mjs 3.29 kB
packages/tdesign-vue-next-chat/es/chat-sender/index.mjs 356 B
packages/tdesign-vue-next-chat/es/chat-thinking/chat-thinking-props.mjs 383 B
packages/tdesign-vue-next-chat/es/chat-thinking/chat-thinking.mjs 941 B
packages/tdesign-vue-next-chat/es/chat-thinking/index.mjs 333 B
packages/tdesign-vue-next-chat/es/chatbot/index.mjs 397 B
packages/tdesign-vue-next-chat/es/config-provider.mjs 158 B
packages/tdesign-vue-next-chat/es/index.mjs 1.51 kB
packages/tdesign-vue-next-chat/es/style/css.mjs 42 B
packages/tdesign-vue-next-chat/es/style/index.css 3.97 kB
packages/tdesign-vue-next-chat/es/utils/index.mjs 493 B

compressed-size-action::tdesign-vue-next-chat

@tdesign-bot

Copy link
Copy Markdown
Collaborator

TDesign Component Site Preview Open

Component Preview
tdesign-vue-next 完成
@tdesign-vue-next/chat 完成

@pkg-pr-new

pkg-pr-new Bot commented Aug 8, 2026

Copy link
Copy Markdown
  • tdesign-vue-next-demo

    npm i https://pkg.pr.new/@tdesign-vue-next/auto-import-resolver@6896
    
    npm i https://pkg.pr.new/tdesign-vue-next@6896
    
    npm i https://pkg.pr.new/@tdesign-vue-next/chat@6896
    
    npm i https://pkg.pr.new/@tdesign-vue-next/nuxt@6896
    

commit: d9063fa

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 960 kB

ℹ️ View Unchanged
Filename Size
packages/tdesign-vue-next/dist/plugin.css 3.02 kB
packages/tdesign-vue-next/dist/reset.css 1.91 kB
packages/tdesign-vue-next/dist/tdesign.css 55.4 kB
packages/tdesign-vue-next/dist/tdesign.js 533 kB
packages/tdesign-vue-next/dist/tdesign.min.css 50.4 kB
packages/tdesign-vue-next/dist/tdesign.min.js 317 kB

compressed-size-action::tdesign-vue-next

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants