Skip to content

测试与验证层次 ​

测试证明特定输入和路径,不把累计用例数量当功能清单。优先阅读实际test文件、断言和隔离条件。执行以下命令前确认开发.env指向独立环境;涉及真实数据库工具另需明确目标和权限。

无设备回归 ​

后端目录:

bash
pnpm db:generate
pnpm exec tsc --noEmit
pnpm exec jest --runInBand --coverage
pnpm exec jest --config ./test/jest-e2e.json --runInBand --detectOpenHandles
pnpm build

后端没有type-check脚本,使用tsc等价检查。最小健康测试App不加载全部生产模块,其通过不代表AppModule真实基础设施启动成功;其他HTTP测试覆盖真实守卫、权限和配置/服务交叉状态。

Web使用pnpm type-check、pnpm build及package.json中的test:realtime/test:ota-ui/test:device-ui;小程序使用type-check、build:mp-weixin、test:ble、test:auth、test:realtime、test:device-settings、test:provision-ui、test:device-ui。手机界面与微信服务端编译仍独立验证。

硬件在各硬件仓库运行bash test_host/run_tests.sh,含纯C内核、NVS/硬件替身与协议测试;内存检查使用受控编译参数,不等于真实运行峰值。两产品再用IDF6.1无凭据构建。

数据库与实物 ​

后端tools/test-*-postgres.cjs使用随机schema隔离验证事务/约束,但需要建schema权限;不会因此允许对在线public结构迁移。本次文档审核只静态核对这些脚本,不重新执行数据库验证。

实物检查配网/归属、网页与小程序控制、按键、断网重连、断电状态和定时执行。实际动作需要观察,云端ACK不能代替物理验收。v0.7.1已有两项继电器针对性确认,其他异常/传感器范围以事实基线为准。

文档验证 ​

构建检查入口和渲染,链接检查覆盖相对路径/图片/锚点,协议示例应通过当前解析器或与测试fixture逐字段核对。有副作用命令只作静态或隔离验证,不能为了文档验收操作在线数据。