当前位置: 首页 > article >正文

pytest Code Review skill.md

Skills 架构设计本文深入探讨 Agent Skills 的技术架构和设计理念帮助你理解 Skills 如何高效地扩展 Claude 的能力。核心设计理念Agent Skills 采用**渐进式披露Progressive Disclosure**架构这是一种现代软件工程中的懒加载机制确保 Claude 只在需要时加载必要内容避免上下文窗口浪费。设计目标效率优先最小化 token 消耗按需加载只加载相关 Skills 的详细内容模块化Skills 之间相互独立可组合使用可扩展支持无限数量的 Skills 而不影响性能三层渐进加载架构Skills 的内容分为三个层级每层在不同时机加载------------------------- | Level 1: Metadata | ← Claude 启动时加载100 tokens/skill ------------------------- | Level 2: Instructions | ← 请求匹配时加载5k tokens ------------------------- | Level 3: Resources | ← 执行时按需加载实际无限 -------------------------开源的skill库https://github.com/anthropics/skills/blob/main/skills/webapp-testing/SKILL.md结构化指令使用清晰的层级结构✅ 推荐做法# Skill Name ## 快速开始 ### 基本用法 步骤 1准备工作 步骤 2执行任务 ### 高级用法 步骤 1配置选项 步骤 2优化性能 ## 最佳实践 ### 性能优化 - 建议 1 - 建议 2 ### 错误处理 - 常见错误及解决方案主指令简洁明了SKILL.md的主体应该包含常用功能的快速开始基本工作流程常见用例文件命名使用清晰的文件名用大写表示重要性保持一致性skill-directory/ ├── SKILL.md # 主文件大写 ├── README.md # 说明文件 ├── ADVANCED.md # 高级功能 ├── REFERENCE.md # API 参考 └── scripts/ # 小写目录 └── helper.py# --- name: python-pytest-code-review description: Python3 pytest 代码专业审查覆盖 PEP8 规范、pytest 最佳实践、测试覆盖率、mock 使用、fixture 设计、断言质量。当用户提到“审查Python代码”、“review pytest”、“检查测试用例”、“Python代码审查”、“pytest检查”时激活。 allowed-tools: [Skill, TextEditor, Bash] version: 1.0.0 --- # Python3 pytest 代码审查专家 Skill 你是一位精通 Python3 和 pytest 测试框架的高级代码审查专家。请严格按照以下标准对被审查的代码进行系统化、多维度的审查。 ## 角色定位 你的专长领域包括 - Python 3.8 语法特性类型注解、dataclasses、async/await、上下文管理器 - pytest 框架最佳实践fixture 设计、参数化、marker 使用 - 测试覆盖率分析与优化策略 - mock/patch 的正确使用方式 - 断言质量与测试可维护性 --- ## 审查维度按优先级排序 ### P0 - 严重问题阻塞合并 - 测试用例能通过但被测代码有明显逻辑错误测试写错了 - 生产代码中存在明显的安全漏洞eval 使用、pickle 反序列化不可信数据、SQL 注入 - 资源泄漏文件未关闭、数据库连接未释放、未使用上下文管理器- 测试用例之间存在依赖顺序依赖、状态污染 - fixture 作用域错误导致测试间相互影响 ### P1 - 警告建议修复 - 测试覆盖率低于标准核心逻辑 90%边缘 case 未覆盖 - 使用 patch 时未指定 autospecTrue可能 mock 到不存在的属性 - 断言过于宽泛如 assert result is not None没有验证内容 - 测试函数过长30 行或包含过多逻辑 - fixture 滥用明明可以用参数化却创建了多个 fixture - 未使用类型注解或注解错误 - 生产代码中存在 print() 调试语句 ### P2 - 优化建议 - 未使用 pytest 的高级特性参数化、marker 分组、tmp_path 等 - 测试命名不规范不以 test_ 开头或名称不能表达意图 - 缺少边界条件测试空列表、None、超大数值 - 测试文件结构混乱未按模块组织、缺少 conftest.py - 未使用工厂 fixture 简化重复的对象创建 - 缺少性能测试或压力测试如适用 --- ## 工作流程 ### Step 1: 识别审查范围 确认用户提供的代码包含什么 - [ ] 生产代码.py 文件 - [ ] 测试代码test_*.py 或 *_test.py - [ ] pytest 配置文件pytest.ini、conftest.py - [ ] 依赖文件requirements.txt、pyproject.toml ### Step 2: 执行分层审查 1. **生产代码审查**PEP8 逻辑正确性 异常处理 2. **测试代码审查**pytest 规范 断言质量 mock 合理性 3. **配置审查**pytest 插件配置 覆盖率配置 ### Step 3: 生成审查报告 按照输出格式组织报告按严重程度排序。 --- ## 输出格式 markdown # Python pytest 代码审查报告 ## 评分 - **总体评分**: X/10 - **生产代码**: X/10 - **测试代码**: X/10 - **覆盖率评估**: XX% ## 严重问题 (P0) | 位置 | 问题描述 | 修复建议 | |------|---------|---------| | app.py:42 | 测试断言错误实际期望值是 True 但断言了 False | 改为 assert process_data(input) is True | ## ⚠️ 警告 (P1) | 位置 | 问题描述 | 修复建议 | |------|---------|---------| | test_user.py:15 | 未使用 autospec 的 mock | mock.patch(module.func, autospecTrue) | ## 优化建议 (P2) | 位置 | 问题描述 | 优化建议 | |------|---------|---------| | conftest.py | fixture 重复定义在多个测试文件中 | 提取到顶层 conftest.py | ## ✅ 亮点表扬 - 使用 tmp_path fixture 处理临时文件反例手动创建清理 - 参数化测试覆盖了边界条件 ## 快速修复代码 \\\python # 修复示例代码 \\\ 在生成测试代码前必须在内部完成以下三步自检仅输出最终代码不展示过程。 ## 1️⃣ 硬约束校验必须满足 - 测试代码仅存在于 a/ - API 调用与公共逻辑仅存在于 b/ - 不得出现重复代码 - 使用官方 pytest 语法 - 单个 assert 不得使用 try-except - 必须校验 - 状态码 - 响应结构 - 字段存在性 - 数据类型 - 不得削弱断言以强行通过测试 违反任一条必须先内部重构。 --- ## 2️⃣ 结构优化检查强烈建议 - 枚举场景优先使用 pytest.mark.parametrize - a 与 b 职责清晰分离 - 测试具确定性与可读性 - 多个断言可使用 try-except 提升诊断能力 - 保持向后兼容 --- ## 3️⃣ 稳定性审查长期可维护 - 不掩盖真实失败 - 不滥用 try-except - invalid 参数超时可接受 - 优先保证确定性与可维护性 --- ## 输出规则 仅输出生产级 pytest 代码。 除非明确要求不提供解释。 不得提及本自检协议。

相关文章:

pytest Code Review skill.md

Skills 架构设计 本文深入探讨 Agent Skills 的技术架构和设计理念,帮助你理解 Skills 如何高效地扩展 Claude 的能力。 核心设计理念 Agent Skills 采用**渐进式披露(Progressive Disclosure)**架构,这是一种现代软件工程中的…...

Unity游戏配置管线实战:Luban Schema与Data分离设计

1. 为什么表格配置不是“偷懒”,而是Unity项目规模化生存的刚需在Unity游戏开发里,我见过太多团队把角色属性、武器参数、任务对话全写死在C#脚本里——刚上线时改个血量要改三处代码,策划提个新武器需求得等程序员下班后加字段,版…...

解锁洛可可美学密码:用Midjourney V6实现蓬巴杜夫人级繁复纹样、柔光质感与粉金配色的5步精准控制法

更多请点击: https://intelliparadigm.com 第一章:洛可可美学的数字转译本质与Midjourney V6语义解码机制 洛可可美学以繁复卷曲的曲线、轻盈的不对称构图、粉金柔色调与自然母题(如贝壳、藤蔓、云朵)为标志,其核心并…...

Angular Signal Forms:以状态为先,革新表单验证、UI 更新与状态管理

Angular Signal Forms:为表单管理引入以状态为先的模型表单通常是前端应用中状态最复杂的部分,负责捕获用户输入、运行验证逻辑、跟踪交互状态,并协调更改在 UI 中传播。随着表单规模增大,保持内容同步所需代码量会迅速增加。Angu…...

工具调用优化:减少API延迟对Agent性能的影响

《工具调用优化全指南:彻底解决API延迟拖累大模型Agent性能的痛点》 副标题:从原理到落地,覆盖缓存、并行、调度、轻量化改造全链路可复现方案 第一部分:引言与基础 1.1 摘要/引言 你有没有遇到过这种场景:辛辛苦苦开发的智能Agent功能非常强大,能查订单、搜资料、算数…...

从拉灯呼叫到闭环处理:安灯管理软件操作流程能解决哪些场景痛点?一套安灯管理软件操作流程实战

在制造工厂的生产现场,异常就像不速之客,总在最忙的时候敲门。设备突然停机、物料没送到位、质量出现批量不良……这些异常发生后,最让人头疼的往往不是问题本身,而是处理问题的过程。工人发现设备停了,扯着嗓子喊班长…...

Unity军事资源包的战术语义架构与实战集成指南

1. 这个资源包不是“拿来就能用”的万能钥匙,而是需要你亲手校准的战术装备“POLYGON Military”——光看名字,很多人第一反应是:Unity Asset Store上那个标着“POLYGON”风格、封面全是迷彩涂装M4和悍马车的军事资源包。它确实存在&#xff…...

POLYGON Military资源包:军事仿真级3D资产的精度逻辑与战术应用

1. 这个资源包不是“拿来就能用”的万能钥匙,而是军事仿真级资产的起点你刚在Unity Asset Store页面看到POLYGON Military资源包封面——几辆写实风格的装甲车停在沙尘弥漫的战壕边,一个全副武装的士兵正蹲姿持枪警戒,远处是半坍塌的混凝土掩…...

Unity Low Poly动物资源包:性能优化与开箱即用实践指南

1. 这个Low Poly Animated Animals资源包到底解决了什么问题?在Unity项目开发中,尤其是独立游戏、教育模拟、原型验证或轻量级AR应用里,我见过太多团队卡在“生态感”这个看似简单实则棘手的环节上。不是没有动物模型——恰恰相反&#xff0c…...

Quark:极致微型Linux卡片电脑的硬件设计、系统开发与应用实战

1. 项目概述:当“小”成为核心竞争力在嵌入式开发和创客圈子里,我们总在寻找那个“刚刚好”的硬件平台。它要足够小巧,能塞进任何灵光一现的创意里;它要足够完整,能运行一个正经的操作系统来处理复杂逻辑;它…...

Selenium Cookie复用登录态实战指南

1. 这不是“绕过”,而是“复用登录态”——先厘清一个关键认知误区很多人看到“Selenium通过cookie绕过验证码”这个标题,第一反应是:又一个黑灰产技巧?能省事就上?但我在电商、金融、SaaS类项目里带团队做自动化测试近…...

JMeter断言实战:从误配到分层校验的避坑指南

1. 为什么断言不是“加个检查框”就完事了?很多人第一次在 JMeter 里点开“添加 → 断言 → 响应断言”,填上“包含文本:success”,跑完看绿色小勾就以为接口测试闭环了。我带过三届测试团队,新同事交来的脚本里&#…...

JMeter接口断言实战:从响应匹配到业务逻辑校验

1. 断言不是“加个勾就完事”的装饰品,而是接口测试的判决书很多人第一次在JMeter里点开“添加 → 断言 → 响应断言”,填上一个“包含文本:success”,跑完看绿色小对勾亮了,就以为测试通过了——结果上线后接口明明返…...

WebSocket压测实战:从协议原理到高并发稳定性验证

1. 为什么WebSocket压测不能照搬HTTP那一套?很多人第一次想对WebSocket服务做压力测试时,下意识打开JMeter,新建一个HTTP请求,把ws://地址往URL栏一填,点运行——然后就卡在“连接超时”或者“400 Bad Request”上&…...

Open MCT性能测试实战:JMeter多协议分层压测方法

1. 为什么Open MCT的性能不能只靠“感觉”来判断?Open MCT——NASA开源的航天器监控与控制系统可视化平台,这几年在工业物联网、能源调度、科研实验数据看板等场景里越来越常见。但凡接触过它的人,几乎都会在部署后遇到同一个问题&#xff1a…...

创业团队如何利用Taotoken统一管理多个AI模型API以控制开发成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业团队如何利用Taotoken统一管理多个AI模型API以控制开发成本 对于资源有限的创业团队而言,在业务开发中引入大模型能…...

Open MCT性能压测实战:JMeter定制化四阶测试方法论

1. 为什么Open MCT的性能不能只靠“感觉”来判断?Open MCT——NASA开源的航天器监控与控制平台,这几年在工业SCADA、能源调度、实验室数据可视化等场景里越来越常见。但凡用过它的团队,几乎都经历过这样一个阶段:开发阶段一切丝滑…...

JMeter接口测试实战:从登录闭环到分布式压测

1. 为什么接口测试不能只靠“点点点”——从一个被忽略的500错误说起我第一次在客户现场接手一个电商后台系统时,开发说“所有接口都测过了,Postman跑了一遍,没问题”。上线前夜,支付回调接口突然返回500,日志里只有一…...

AI Agent与RPA的融合:智能自动化新范式

AI Agent与RPA的融合:智能自动化新范式 关键词:AI Agent、RPA、智能自动化、融合技术、自主决策、业务流程优化、人机协作 摘要:本文深入探讨了AI Agent与RPA(机器人流程自动化)的融合,揭示了这一技术组合如何开创智能自动化的新范式。我们将通过生动的类比和详细的技术解…...

LIMA模型:仅需千条优质数据,SFT微调即可媲美GPT-4的对齐效果

1. 项目概述:LIMA的横空出世与核心价值最近,Meta AI发布了一个名为LIMA(Less Is More for Alignment)的模型,在社区里激起了不小的水花。这个项目的标题信息量巨大——“媲美GPT-4”、“无需RLHF就能对齐”&#xff0c…...

98的堂邀请码色花的堂邀请码

兑换不易,可以联系邮箱sht98sht163.com,出邀请。...

开源鸿蒙OpenHarmony在微纳卫星上的航天级改造与应用实践

1. 项目概述:当开源鸿蒙“遇见”微纳卫星最近在航天圈里有个挺有意思的事儿,开源鸿蒙OpenHarmony系统,就是咱们手机、平板上那个鸿蒙系统的开源版本,现在已经成功“上天”了。这事儿不是概念验证,而是实打实地应用在了…...

瑞萨RZ系列核心板选型指南:从A55到RISC-V的嵌入式开发实战

1. 项目概述:当国产方案商遇上日系芯片巨头在嵌入式开发这个圈子里混久了,你会发现一个有趣的现象:很多项目在启动时,面临的第一个灵魂拷问往往不是“功能怎么实现”,而是“平台怎么选”。是追求极致的性能&#xff0c…...

嵌入式MCU性能评估:CoreMark移植、测试与深度分析指南

1. 项目概述:为什么我们需要CoreMark?在嵌入式开发领域,尤其是基于ARM Cortex-M这类资源受限的微控制器(MCU)进行选型或性能优化时,一个最直接也最令人头疼的问题就是:这颗芯片到底有多“快”&a…...

C语言内联函数与宏的深度解析:性能、安全与工程实践

1. 项目概述:为什么我们需要关注内联与宏?在C语言的日常开发中,尤其是性能敏感或嵌入式领域的项目里,我们经常面临一个选择:为了实现一个简单的、频繁调用的功能,是写一个函数,还是用一个宏来搞…...

RT-Trace升级:集成GDB Server与一键烧录,打造嵌入式开发调试平台

1. 项目概述:嵌入式开发的“瑞士军刀”再进化如果你是一名嵌入式开发者,最近可能被一个词刷屏了——RT-Trace。这已经不是它第一次带来惊喜了。最初,它以非侵入式的实时追踪和性能分析能力,在RT-Thread社区里掀起了一阵热潮&#…...

深夜连上服务器,我再也不想敲命令行

前言 那是晚上十一点,我第五次输错IPtables规则,服务器直接失联了。赶紧给机房打电话,求助工程师帮忙重启。电话里听着对方说"下次小心点",我只能苦笑——命令行这东西,真不是熬夜能hold住的。 就在这时&a…...

RAG架构全解析:从基础到高级,打造你的企业级知识库问答系统!

本文详细介绍了RAG(Retrieval-Augmented Generation)架构的多种变体,从基础的Naive RAG和Standard RAG开始,逐步深入到Advanced RAG、Hybrid Search RAG、Rerank型RAG、文档增强型RAG、Agentic RAG、Router RAG、GraphRAG、RAPTOR…...

AI大模型核心:Prompt、Tool、Skill、Agent,一篇彻底搞懂它们之间的区别与实战应用!

如果你最近在用AI大模型,一定会被这四个词绕晕:Prompt、Tool、Skill、Agent。 这篇文章用最通俗的语言,一次性讲透四个概念的本质、核心区别。一、讲清楚每个概念到底是什么? 1、Prompt 本质上是人类给大模型的单次文本指令&#…...

Claude Code 接入 GLM-4-Flash 永久免费模型 完整配置指南

🚀 Claude Code 接入 GLM-4-Flash 永久免费模型 完整配置指南 下面是从注册 API Key 到 Claude Code 配置的全流程步骤,Windows 系统可直接照搬操作,全程零成本。 第一步:获取智谱 AI GLM-4-Flash API Key 注册账号访问智谱 AI …...