mirror of
https://github.com/Vincentwei1021/video-shotcraft.git
synced 2026-09-14 20:16:35 +08:00
d54dd41dc1
* test: 给 assets/lib/helpers 纯函数补 vitest 单元测试 + CI 集成
项目此前完全没有自动化测试。assets/lib/helpers 的纯函数
(mulberry32 / velocityAt / lagged / dampedSettle / handheld)是确定性、
无状态的——最该被锁住的行为,但没有任何测试覆盖。
新增:
- package.json + package-lock.json(仓库根,vitest 3.2)
- assets/lib/helpers/__tests__/helpers.test.ts —— 23 条用例:
* mulberry32:值域 [0,1)、同种子同序列、异种子异序列、跨实例可复现、
边界种子不抛错
* velocityAt:匀速直线恢复速度/方向、静止为零、中心差分对二次轨迹
精确、dt 缩放
* lagged:延迟采样语义、负结果帧、泛型类型透传
* dampedSettle:冲击时刻为零、首峰方向、半周期符号翻转、包络衰减、
高阻尼衰减更快、确定性
* handheld:3 元组、确定性、amp 线性缩放、值域上界
CI:pr-checks.yml 新增独立 unit-tests job(paths 加入 assets/lib/**、
package.json、package-lock.json),npm ci + npm test 守护 helpers 行为。
本地 23/23 通过。
* test: dampedSettle 阻尼对比断言换到非零点(17.3)更稳健
原断言用 t=30——sin(2π*0.1*30)=sin(6π)≈0,两值都落在零点附近
(1.6e-16 vs 2.2e-22),断言虽过但数值脆弱。t=17.3 时远离零点,
轻/重阻尼比值 2404x,断言稳健。23/23 仍通过。
---------
Co-authored-by: zhaotian1 <zhaotian1@wps.cn>
Co-authored-by: Wei Yihao <weiyihao@amazon.com>
13 lines
250 B
JSON
13 lines
250 B
JSON
{
|
|
"name": "video-shotcraft-tests",
|
|
"private": true,
|
|
"description": "Unit tests for assets/lib/helpers pure functions",
|
|
"scripts": {
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"devDependencies": {
|
|
"vitest": "^3.2.4"
|
|
}
|
|
}
|