「属性测试编写」是开发与测试工程师的高频任务。它的输入通常是函数说明,期望得到的是属性测试代码。这类有固定流程、又需要一点判断力的工作,很适合封装成智能体 Skill。

一句话说明

「属性测试编写」技能让智能体为纯函数编写基于属性的测试。你提供函数说明,它按固定步骤处理,交付属性测试代码。

项目说明
技能属性测试编写(property-based-test)
作用为纯函数编写基于属性的测试
输入函数说明
输出属性测试代码
形态带脚本
风险低
适用人群开发与测试工程师

它解决什么问题

没有技能时,开发与测试工程师每次都要重新描述要求,智能体的输出时详时略、格式不一,关键的检查步骤也经常被跳过。把流程写成技能后:

  • 每次都按同样的顺序执行:找出函数不变量→用属性测试框架表达→设置输入生成器→运行并缩小反例
  • 输出结构固定,便于复核和归档
  • 领域规矩(如「生成的测试要先在本地跑通,别只盯覆盖率数字」)写在技能里,不靠临时提醒

适合与不适合

适合:经常处理函数说明、希望结果格式统一、愿意花十分钟把流程写清楚的开发与测试工程师。

不适合:一次性的临时任务;需要大量现场判断、无法写成步骤的工作;以及没有人复核就要直接对外使用的场景。

可以在哪些平台实现

同一个技能的思路可以落在不同平台上,常见选择有:

  • Claude Code Skill:Claude Code 的 Agent Skills 以文件夹为单位:一个 SKILL.md(YAML 头写 name 与 description)加上可选的脚本和参考资料。智能体平时只看到 description
  • AGENTS.md:AGENTS.md 是放在仓库根目录、写给编码智能体看的说明文件
  • Cline Rules:Cline 支持在项目中用 .clinerules 写规则(可以是单个文件
  • Function Calling:Function Calling(工具调用)是主流大模型 API 的通用能力:你用 JSON Schema 描述函数

怎么开始

建议先用纯提示词版本在日常对话助手里试几次,确认步骤合理;再按SKILL.md 写法封装成技能;最后用测试用例验收。

这个技能需要运行本地脚本(解析文件、调用命令行工具等),要求运行环境允许执行代码;风险较低,但输出仍需快速过目再使用。

领域注意事项

「属性测试编写」属于测试领域,使用者多是开发与测试工程师,工作环境通常是测试框架与 CI 流水线。这个领域最重要的一条底线是:生成的测试要先在本地跑通,别只盯覆盖率数字。

建议把这条底线原样写进技能的约束部分,而不是指望智能体自己意识到。同时,在团队内部明确:智能体给出的属性测试代码只是初稿或建议,最终由谁签字确认、出了问题由谁负责。

常见变体

同一个技能可以按使用场景派生出几个变体:

  • 简版:只保留核心步骤(找出函数不变量、运行并缩小反例),适合快速过一遍
  • 详版:每一步都写出理由与依据,适合交给他人复核或留档
  • 批量版:一次处理多份函数说明,输出汇总表,适合定期集中处理

变体之间共享同一套约束,只在步骤详略和输出格式上有差异。可以在一个技能里用参数区分,也可以拆成几个名称明确的技能。

延伸阅读

说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。