# LSFX Mock 规则命中模式后端验证记录 ## 执行命令 ```bash cd lsfx-mock-server python3 -m pytest tests/test_startup.py tests/test_file_service.py -k "rule_hit_plan or parse_args" -v PORT=18000 python3 main.py --rule-hit-mode all > /tmp/lsfx_main_18000.log 2>&1 & sleep 3 kill PORT=18001 python3 dev.py --reload --rule-hit-mode all > /tmp/lsfx_dev_18001.log 2>&1 & sleep 5 kill ``` ## 测试结果 - 2026-03-22 执行: `python3 -m pytest tests/test_startup.py tests/test_file_service.py -k "rule_hit_plan or parse_args" -v` - 结果:`10 passed, 5 deselected, 1 warning in 0.27s` - warning 为现有 `pydantic` 弃用提示,本次改动未引入失败或 error。 ## 启动验证结果 - 普通启动验证: - 使用临时端口 `18000` 执行 `python3 main.py --rule-hit-mode all` - 日志显示 `Uvicorn running on http://0.0.0.0:18000` - 结束后日志显示正常 shutdown,进程已清理 - 热重载启动验证: - 使用临时端口 `18001` 执行 `python3 dev.py --reload --rule-hit-mode all` - 日志显示 reloader 进程与 server 进程均成功启动 - 结束后日志显示 server process 与 reloader process 已停止 ## 进程清理结果 - 启动验证结束后,针对本次工作树路径再次执行进程扫描。 - `main.py --rule-hit-mode all` 无残留进程。 - `dev.py --reload --rule-hit-mode all` 无残留进程。 ## 说明 - 原计划默认使用 `8000` 端口进行烟测。 - 验证时发现本机已有独立 `Python main.py` 进程占用 `8000`,为避免影响现有环境,本次改用临时端口 `18000/18001` 完成等价验证。