用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/XS-MLVP/UCAgent --skill mock-components命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
UCAgent是基于大语言模型的自动化任务执行AI代理,支持通用工作流配置和执行。本技能提供配置文件编写规范、自定义Checker开发指南、--emulate-config配置校验工具使用方法,帮助用户快速创建、验证和运行各类任务工作流。
为正确失败测试确认的动态DUT Bug优先确定性维护BG、TC、ROOT和波形引用;支持幂等重复调用、受控格式恢复与跨阶段累计。
分批测试用例实现与对应Bug分析阶段专属技能,用于依据测试模板注释、功能规格CK原文和覆盖约束实现针对性激励与断言,并完成测试执行、动态Bug分析和报告记录
正在显示 SKILL.md
| name | mock-components |
| description | Mock组件设计、mock_dut fixture实现和Mock独立单元测试阶段专属技能;用于严格区分Mock测试的mock_dut参数与普通DUT测试的env/ref_model参数契约 |
根据当前stage名称只执行对应工作:
| stage | 工作范围 |
|---|---|
mock_design_and_implementation | 设计并实现{DUT}_mock_<Name>.py中的Mock类 |
mock_fixture_implementation | 在{DUT}_api.py实现mock_dut fixture |
test_mock_components_in_batch | 为当前批次Mock编写独立单元测试并修复到全部Pass |
不要跨阶段提前实现无关内容。
| 对象 | 用途 | 测试签名 |
|---|---|---|
env | 驱动真实DUT的功能测试 | test_xxx(env[, ref_model]) |
ref_model | 为真实DUT测试独立计算预期 | 普通DUT测试模板中存在时作为第二个参数 |
mock_dut | 不运行RTL的Mock组件单元测试 | test_api_{DUT}_mock_xxx(mock_dut) |
普通DUT测试是否包含ref_model不改变Mock单元测试签名。Mock测试不接收env或ref_model。反过来,普通DUT测试也不能把env替换为mock_dut。
{OUT}/tests/{DUT}_mock_<ComponentName>.py,类名以Mock开头。env。on_clock_edge(self, cycles),通过dut.StepRis或dut.StepFal注册;不要改变无关回调顺序。在{OUT}/tests/{DUT}_api.py中使用唯一规范实现:
@pytest.fixture(scope="function")
def mock_dut():
return ucagent.get_mock_dut_from(DUT{DUT})
function。env或参考模型。from {DUT}_api import *
from {DUT}_mock_Memory import MockMemory
def test_api_{DUT}_mock_memory_response(mock_dut):
mock = MockMemory()
mock.bind(mock_dut)
mock_dut.req_valid.value = 1
mock_dut.req_addr.value = 0x100
mock_dut.Step(1)
assert mock_dut.req_ready.value == 1
测试要求:
test_api_{DUT}_mock_开头,第一个且通常唯一的fixture参数为mock_dut。.value读写XPin;禁止直接覆盖pin对象。bind(mock_dut),再用mock_dut.Step()触发回调。mark_function,不访问fc_cover,不生成DUT功能覆盖率。Mock单元测试通过后,后续env_fixture_implementation才把Mock实例集成到真实DUT环境。集成时仍需保证:
env和API驱动DUT。on_clock_edge(self, cycles)和mock_dut fixture通过对应Checker。env、ref_model和mock_dut。