📦 test-fixture-generator — 自动生成 Pytest 固件(数据库、API 模拟、文件处理)
v1.0.0自动为数据库、API 模拟和文件处理生成 Pytest 固件,支持设置和拆除。注意:虽然宣称无依赖,但生成的模板导入了第三方库(如 mysql.connector、psycopg2 等),使用前需安装这些库。
0· 42·1 当前·1 累计
安全扫描
OpenClaw
可疑
medium confidence代码和模板与声明的目的相符(生成 Pytest 固件),但存在包装/导入和文档/依赖不一致,可能导致 CLI 失败或意外 — 使用前请审查。
评估建议
此包似乎实现了其宣称的功能(Pytest 固件生成器),但在安装或运行前请检查以下红旗:
- 依赖不匹配:README 声称“零依赖”,但生成的模板导入了许多第三方库(mysql.connector、psycopg2、requests_mock、httpx、boto3/moto 等)。如果使用生成的固件,请预计安装这些库。
- 包装/CLI 不匹配:SKILL.md 指示运行 `python -m test_fixture_generator ...`,但没有 __main__.py,cli.py 使用绝对导入。尝试从包根目录运行 `python cli.py`,或添加适当的入口点/__main__.py;如果希望 `test_fixture_generator` 可运行,请验证包安装了控制台脚本入口点。
- 硬编码示例凭证:数据库模板包括示例凭证(localhost/test_user/test_password)。仅将其视为示例,不要在生产环境中使用,并不要假设它们反映您的真实环境。
- 检查 boto3/AWS 模板:review 中的 generator.py 部分被截断;打开...详细分析 ▾
ℹ 用途与能力
生成器如宣称生成 DB、API 模拟、文件处理和随机数据的 Pytest 固件。然而,模板包含第三方导入(mysql.connector、psycopg2、requests_mock、httpx、boto3/moto 等),而 README 声称“零依赖”,这不一致且误导。模板还嵌入示例 DB 凭证(localhost/test_user/test_password),作为默认值无害,但不应视为真实秘密。
⚠ 指令范围
SKILL.md 和 README 指示使用 `python -m test_fixture_generator ...`。提供的包文件不包含 __main__.py,cli.py 使用绝对导入(`from generator import ...`)而不是包相对导入(`from .generator import ...`),因此,根据包的安装方式,严格按照文档运行 CLI 可能会失败。SKILL.md 不指示代理读取无关文件或秘密。
ℹ 安装机制
没有安装规格(仅指令),这降低了安装风险。然而,技能包包含可运行的 Python 代码(cli.py、generator.py、tests)——因此,虽然安装时没有下载任何内容,但安装或检查技能包时会将包含的代码写入磁盘。没有使用外部下载 URL 或存档提取。
ℹ 凭证需求
技能不请求环境变量或凭证。这是合理的。但是,生成的模板引用外部服务/库,并包含本地 DB 连接的示例凭证;这些凭证不从环境中请求,但可能会让用户混淆使用硬编码值。
✓ 持久化与权限
技能不请求永久/始终启用权限(always: false),也不声明修改其他技能或系统范围设置。允许自主调用是平台默认值,在这里不值一提。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/4/7
初始发布
● 无害
安装命令
点击复制官方npx clawhub@latest install test-fixture-generator
镜像加速npx clawhub@latest install test-fixture-generator --registry https://cn.longxiaskill.com
技能文档
自动生成 Pytest 固件 для 数据库、API 模拟和文件处理,支持设置和拆除。
使用方法
请参阅原始SKILL.md,注意依赖和入口点问题。# 示例运行命令(可能需要调整根据包结构)
python cli.py [选项]
代码示例
请参阅原始代码库,注意第三方库依赖。# 示例代码(仅为示意) import pytest from your_generated_fixture import your_fixture
@pytest.fixture def example_fixture(your_fixture): # 使用生成的固件 pass