# py_test_runner **Repository Path**: siwpan/py_test_runner ## Basic Information - **Project Name**: py_test_runner - **Description**: Python 多模式测试框架:AST 静态扫描 + 架构模式识别 + 动态运行,输出 HTML / JSON / 覆盖率报告 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-27 - **Last Updated**: 2026-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # py_test_runner — Python 项目全覆盖测试框架 ## 仓库角色定位(投资组合分级 ②) > 本仓在 siwpan 投资组合(D:/projects/repos,共 133 仓)中定级为 **② 保留**,领域 **开发者/系统工具**。 > **角色**:内部工具。 > **维护策略**:② 旗舰 / 枢纽仓库打磨保留,作为能力展示或收敛点;② 保留类仓库低优先维持、不主动扩张。 > 投资组合统一分级索引(多机可查):[组合分级决策索引 · allin 事实源](https://gitee.com/siwpan/allin/blob/master/docs/事实源/组合分级决策索引.md)。 > 仓库: | 许可:MIT(见 [LICENSE](LICENSE)) > 注:文中 为路径占位符,请替换为你本机实际的目录 / 可执行文件路径。 > 多功能 Python 测试框架,支持静态扫描、架构检测、动态运行三大类测试。 > 由全哥创建,用于 G 盘项目(10,700+ Python 文件)的日常质量保障。 --- ## 快速开始 ```bash cd python main.py -c # 控制台模式(最常用) python main.py --smoke -c # 探针冒烟测试 python main.py --allin -c # 全项目扫描(P1 快速) python main.py --arch -c # 架构模式检测 python main.py --dynamic -c # 动态测试(尝试运行) python main.py --simple -c # 简单测试:编译 + JSON 校验 python main.py --simple -c --simple-target ``` --- ## 功能模式一览 | 模式 | 命令 | 说明 | |------|------|------| | 控制台模式 | `python main.py -c` | 运行内置测试用例 | | GUI 模式 | `python main.py` | Tkinter Canvas 可视化界面 | | 探针模式 | `python main.py --smoke -c` | 冒烟测试(P1 关键探针) | | OK 库扫描 | `python main.py --ok -c` | 扫描 `not/OK` 下所有项目 | | draw 项目 | `python main.py --draw -c` | 深度扫描 ECS 架构项目 | | 全项目扫描 | `python main.py --allin -c` | 递归扫描 `` 全部目录 | | 架构检测 | `python main.py --arch -c` | 识别 13 种架构模式 | | 动态测试 | `python main.py --dynamic -c` | 尝试导入并运行 Python 文件 | --- ## 文档 | 文档 | 说明 | |------|------| | [docs/user_manual.md](docs/user_manual.md) | 完整使用手册(全参数说明、各模式详解、常见工作流、故障排查) | | [docs/architecture_patterns.md](docs/architecture_patterns.md) | 架构模式详解(13 种模式原理、适用场景、检测依据) | --- ## 项目结构 ``` py_testrunner/ ├── main.py # 入口 ├── README.md # 本文件 ├── requirements.txt ├── core/ # 核心引擎(日志、错误类型、测试运行器、探针系统) ├── gui/ # Tkinter Canvas 图形界面 ├── console/ # 控制台界面 ├── logs/ # 日志 & 测试报告输出 ├── scanners/ # 扫描器(全项目、架构检测、动态测试) ├── probes/ # 探针定义(通用、OK 库、draw 项目) ├── reports/ # 报告生成器(HTML/JSON、coverage) ├── tests/ # 测试脚本(自用) └── docs/ # 文档(使用手册、架构模式详解) ``` --- ## 依赖 **必需(标准库)**:`tkinter` · `ast` · `subprocess` · `dataclasses` > ⚠️ `tkinter` 在 WorkBuddy managed Python 中不含,动态测试会自动回退到系统 Python。 **可选**:`coverage`(覆盖率)、`matplotlib`(图表) --- *内部项目,全哥创建。*