用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/XS-MLVP/UCAgent --skill create-test-case-templates命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | create-test-case-templates |
| description | 创建测试用例模板阶段专属技能,用于生成正确的pytest参数签名、覆盖率标记和未实现占位断言,并依据STDERR区分模板错误与fixture、Mock、参考模型、依赖或配置错误 |
模板可以直接使用内置文本编辑工具创建。先按Guide_Doc/dut_test_template.md读取当前工作区的已解析配置并确定唯一pytest函数签名;若RunSkillScript可用,也可以执行createtemplate.py批量生成相同模板。脚本是可选助手,不是参数契约的唯一来源。
普通DUT模板可能采用def test_xxx(env):或def test_xxx(env, ref_model):。若脚本生成了ref_model,它必须保持为第二个参数。普通DUT测试始终从env访问真实DUT;mock_dut只用于test_api_{DUT}_mock_*形式的Mock组件独立单元测试。本阶段不创建、不修改Mock测试,也不能把普通测试的env替换为mock_dut。
本阶段只创建或修正普通测试模板。{OUT}/tests/{DUT}_api.py、{OUT}/tests/{DUT}_function_coverage_def.py以及其中的create_dut、dut/env fixture、ucagent.is_imp_test_template() fake DUT分支、get_coverage_groups(dut)、dut.fc_cover绑定、采样回调和coverage上报均是上游阶段已经完成的基础设施契约,禁止在本阶段修改、复制、替换或绕过。
尤其禁止下列做法:
dut/env fixture,或构造自定义fake DUT、空fc_cover、假CovGroupKeyError、setup错误或未标记CK而删除/延后mark_function,或把它包进忽略异常的代码fc_cover绑定、StepRis采样或set_func_coverage,使Checker表面通过mark_function失败时,先核对模板中的FG/FC/CK字符串是否逐字存在于当前功能文档和覆盖率定义,并读取最早traceback定位责任行。若证据明确指向上游基础设施,应报告准确文件、行号和不变量缺失,并回到对应API/fixture/覆盖率阶段修复;不得在本阶段就地改造提供的模板。
本阶段通过函数命名隔离已完成的上游测试。API测试文件中的函数必须已经以完整、大小写敏感的test_api_{DUT}_开头;test_api_basic、test_ref_model、test_compute_api等名称表示API阶段未完成命名契约。出现TEST_FUNCTION_CONTRACT_VIOLATION时,应回到API测试阶段按details一次修正全部函数定义和mark_function函数对象引用。禁止在模板阶段删除skip、覆盖fixture、启用真实DUT、移动/重命名API测试文件,或给已实现API测试添加Not implemented。
普通模板函数使用test_<scenario>,不得占用test_api_、test_static_、test_random_保留前缀。保留前缀只能与其专用测试文件和阶段成对使用;发现错位时修正所属文件/阶段和完整函数前缀,不要用skip或移动到Checker范围外规避。
模板示例:
def test_basic_addition(env):
"""测试基本加法功能。"""
env.dut.fc_cover["FG-ADD"].mark_function(
"FC-BASIC", test_basic_addition, ["CK-NORM"]
)
# TASK: 实现基本加法测试逻辑
assert False, "Not implemented"
reference_files和当前批次CK,确认每个模板的测试意图。EditTextFile(path, content)直接创建模板;ReplaceStringInFile只用于局部修改已经存在的模板。若RunSkillScript可用,可改用createtemplate.py一次性生成,但不得同时生成两套重复模板。Complete推进阶段;失败时先按下述流程定位真实原因。mark_function和末尾占位断言。assert False, "Not implemented"并以AssertionError('Not implemented')结束。test_api_{DUT}_*和test_api_{DUT}_mock_*测试;这些测试属于此前独立阶段。mock_dut或单独实例化Mock组件。{DUT}_api.py、{DUT}_function_coverage_def.py或任何已有fixture来适配新模板。除预期占位断言外,ERROR、pytest收集失败和其他异常都不是合格模板结果。
STDERR、完整traceback和必要的STDOUT。env、ref_model、fake DUT和覆盖组初始化的最早异常;这些文件可用于定位,但不得在本阶段改写。Not implemented;其他异常必须修复。env[, ref_model]参数契约。env.dut.fc_cover由原有fixture正常提供。