SuperAPI AI 工具集

test-generator

测试与质量

查看项目

更新于 10-16 08:56

技能介绍

用途

test-generator 是一个测试生成技能,用于为指定的代码自动生成完整测试套件,包含静态分析、单元测试、集成测试及覆盖率报告。其核心组织原则是测试金字塔:底层为静态分析,向上依次为大量单元测试、中等数量集成测试和少量 E2E 测试。

触发条件包括:用户说「生成测试」「写测试」「test this」「建立单元测试」「建立集成测试」「静态分析」「type check」「覆盖率」「coverage」等。

主要能力

静态分析

资料给出 Python 静态分析工具配置:mypy 用于类型检查,配置于 pyproject.toml 或 mypy.ini;ruff 用于 Linting 与 Formatting,可取代 pylint/flake8/black;bandit 用于安全性扫描。文档提供了 mypy 与 ruff 的 pyproject.toml 配置示例,包括 strict 模式、规则选择与忽略项。

单元测试

使用 pytest,配置项包括 testpaths、python_files、python_functions、addopts、markers(unit、integration、slow)和 filterwarnings。测试目录结构按 unit、integration、e2e 分层,并包含 conftest.py 共享 fixtures。示例覆盖正常流程、边界条件、参数化测试、错误处理与 Null/None 处理。

集成测试

包含 API 集成测试(使用 httpx AsyncClient 与 ASGITransport)和数据库集成测试(使用 SQLAlchemy 异步引擎与内存 SQLite)。文档给出 conftest.py 中数据库引擎、session、HTTP 客户端的 fixture 示例。

E2E 测试

E2E 工具选择表列出 Playwright(Web UI 测试,跨浏览器、自动等待、截图/录影)、Selenium(传统 Web 测试)、pytest + httpx(API E2E)、Locust(负载/效能测试)。文档提供 Playwright 的 conftest.py 配置(浏览器实例、页面、base_url)以及用户注册、登录登出、建立项目等 E2E 测试示例,并包含无 UI 的 API E2E CRUD 流程测试。

覆盖率

使用 pytest-cov,配置项包括 source、branch、parallel、omit、exclude_lines、fail_under(示例为 80)、show_missing、skip_covered,以及 html 与 xml 报告输出。文档给出单元测试、集成测试和全部测试的覆盖率执行命令。

多语言对照与 CI

资料提供测试框架对照表,涵盖 Python、JavaScript、TypeScript、Go、Rust 的单元测试、集成测试、覆盖率与静态分析工具。CI 集成 Checklist 包括 pyproject.toml 测试配置、测试依赖、CI workflow 测试阶段、覆盖率门槛(建议 ≥ 80%)、测试报告上传至 CI artifacts。测试依赖清单列出 pytest、pytest-cov、pytest-asyncio、pytest-xdist、pytest-mock、pytest-timeout、httpx、factory-boy、faker、playwright、pytest-playwright、locust、mypy、ruff、bandit 及类型 stub。

使用方式

技能在用户提出测试相关请求时触发,按测试金字塔生成对应层级的测试文件与配置,并输出测试套件生成报告,包含文件结构、测试清单(静态分析、单元测试、集成测试、E2E 测试)、覆盖率目标和执行指令。

适用场景

适用于需要为代码自动生成测试套件的开发场景,尤其是 Python 项目,也可参考多语言对照表用于其他语言。

限制

资料未提供该技能的安装方式、收费模式、平台支持范围或实际运行效果等信息,这些内容暂未提供。