Files
vtj/packages/utils/vitest.config.ts
“chenhuachun” 0841565873 test(vitest): 配置覆盖率阈值和报告格式
- 在各包的 vitest 配置中添加覆盖率提供者为 v8
- 设置包含及排除的覆盖范围,排除索引文件和版本文件
- 设置覆盖率阈值:行、函数、分支、语句均不低于85%,部分包分支为80%
- 增加覆盖率报告格式:文本、文本摘要及 JSON 摘要格式

test(base): 完善 util 函数的边界值测试

- 补充 trim 函数对非字符串、非数组、非对象值的正常返回测试
- 追加 splitParser 字符串分割对空字符串和 undefined 的处理测试
- 增加 splitStringify 对 undefined 输入返回空字符串测试

test(coder/parser): 增加数据源解析相关测试用例

- 覆盖 mock 数据源和 API 数据源的解析过程
- 测试空数据源输入的返回值为空数组
- 测试非函数类型的 transform 和 mockTemplate 使用默认处理
- 新增对函数映射解析的无效格式过滤及有效过滤测试
- 补充 inject 解析时未设置来源的默认行为测试

test(coder/parser/composition): 完善组合式 API 解析测试

- 过滤 useProvider 组合函数的测试逻辑添加
- 支持带参数和无名称(仅副作用)组合函数解析测试
- 支持 JSExpression 参数的组合函数解析测试
- 测试组合函数按名称去重功能

test(coder/parser/composition/inject): 增加 inject 相关测试

- 测试默认值为 null 和 JSExpression 的inject选项解析
- 测试缺省 from 时使用 name 的行为

test(parser): 添加逆向转换及 HTML 扩展测试

- 测试 reverseTransformExpression 函数对空输入及多种符号转换行为
- 增加针对 htmlToNodes 的文本与元素混合、多兄弟节点及属性为空值处理测试
- 增加 UniApp 平台及转义字符处理测试

test(parser): 补充替换器转换功能测试

- 测试代码中 __provider 相关标识符替换行为,使用不同 id 参数验证

test(parser): 丰富 Vue 脚本解析相关测试

- 测试组件名称、props、methods、数据源、注入、暴露和指令的完整解析
- 测试基于 computed 的 watcher 与 watch 选项解析
- 测试 emits 从 emits 数组及 $emit 调用解析
- 支持默认导入组件的检测

test(parser/scriptSetup): 增强 script setup 解析测试覆盖

- 测试从 __provider 创建的 mock 和 api 数据源的识别(含 then 回调)
- 函数声明中有无 api 调用对数据源提取的区别
- 完善生命周期钩子(onBeforeMount、onBeforeUpdate 等)解析测试
- watch 深度监听及无选项监听测试
- defineExpose 内联对象输出测试
- provide/inject 解析各场景的测试覆盖
- defineProps 和 withDefaults 类型推断及默认值测试
- 函数声明参数不同模式处理测试(含默认参数、解构参数)
- defineEmits 的类型声明和数组声明测试

test(parser/shared): 添加 TypeScript 代码剥离工具测试

- 测试剥离 TS 类型注解、接口、类型别名、枚举及断言的正确性
- 验证对不合法 TypeScript 代码的容错行为
- 处理非空断言和类型断言语法的准确剥离
2026-07-12 00:19:18 +08:00

20 lines
424 B
TypeScript

import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
environment: 'jsdom',
coverage: {
provider: 'v8',
include: ['src/**/*.ts'],
exclude: ['src/**/index.ts', 'src/version.ts'],
reporter: ['text', 'text-summary', 'json-summary'],
thresholds: {
lines: 85,
functions: 85,
branches: 80,
statements: 85
}
}
}
});