本机持久测试环境
本目录保存奇妙小屏幕控制器的本机测试工具、可复用虚拟环境和人工保留的 mock 数据。命令从工作区根目录执行,脚本会自行定位中文路径下的源码目录。
常用命令
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" setup
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" test --suite all
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" serve --port 8765
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" clean
测试套件:
config:配置/模板 schema、耐久写入、路径解析和旧数据根迁移 pytest。display:显示服务、渲染和帧变换 pytest。api:REST、WebSocket 和静态资源 pytest。python:全部 pytest。frontend:颜色/场景 Node 测试及全部静态 JavaScript 语法检查。all:python与frontend。
test 和 serve 会自动调用 setup。首次运行或两个 requirements 文件变化时才从官方 PyPI 安装/更新依赖;未变化时只运行快速的 pip check。
保留与清理边界
serve 显式使用:
- 持久数据根:
data/ - 运行期数据根:
data/runtime/
这两个目录用于本机隔离,不替代生产环境的 /var/lib/matrix-screen-controller 和 /run/matrix-screen-controller。自动化用例必须使用 work/ 下或 pytest 提供的隔离临时目录,不得修改人工保留的数据。
长期保留:
.venv/及其中的.requirements.sha256data/config.jsondata/templates/中人工保存的模板及有效缩略图data/animations/中人工保存的动图、帧及有效缩略图data/中以后按CONFIG-DATA-LIFECYCLE登记的其他持久测试数据- 本目录的脚本、README 和
.gitignore
clean 只删除可再生产物:work/、整个 data/runtime/、源码缓存、覆盖率文件和已知浏览器测试产物。它不会清空 data/、扫描 %TEMP% 或整盘,也不会自动删除损坏的 .venv。测试产生的配置/模板反例必须留在隔离临时目录并由测试框架回收,不能把损坏样例或多代备份积累在本目录。
完整的分层测试选择、远端冒烟和实屏档位见上一级的《核桃派点阵屏控制服务测试流程.md》。