MarsCode单元测试反转提示词设计技巧

2026-06-18阅读 0热度 0
MarsCode单元测试提示词怎么设计反转

编写提示词的核心,在于精确描述嵌套逻辑——以MarsCode执行为例,若需实现“先反转字母、再反转特殊字符”的两步独立操作,必须将规则拆解到足够细粒度。否则模型容易只完成一次普通反转,错过你要求的两次分别执行。以下四步经过多次验证,直接套用即可让测试用例精准命中目标。

必须严格遵循两步顺序:首先,将所有小写字母的相对顺序整体反转并放回原始位置;然后,将所有特殊字符的相对顺序整体反转并放回原始位置。输入仅包含小写英文字母和'!@#$%^&*()'中的特殊字符,字符串长度范围为1≤n≤100。

第一步:固定核心逻辑关键词

在提示词起始处直接写入“按两步顺序执行”,这是触发MarsCode识别复合逻辑的关键信号。避免仅写“反转字符串”——那会触发单次reverse函数,完全覆盖不了「先字母反转→再特殊字符反转」的嵌套流程。最佳做法是用引号包裹原始题干中的精确描述:“先把所有小写字母的相对顺序整体反过来,并放回到它们原来所在的位置;再把所有特殊字符的相对顺序整体反过来,并放回到它们原来所在的位置”。【MarsCode对带分号的并列动作解析最稳定,遗漏分号会导致第二步被忽略】

第二步:明确输入约束与字符集范围

严格限定字符集合为“仅包含小写英文字母和'!@#$%^&*()'中的特殊字符”,此声明必须紧跟逻辑描述之后。若只写“包含字母和符号”,MarsCode会默认引入数字、空格、中文等干扰字符,导致生成的测试用例覆盖无效边界。同时补充长度限制:“1 <= s.length <= 100”,这能迫使生成的测试用例包含极短(如"a")、极长(如100个字符)和临界值(100)三类样本。

第三步:强制要求覆盖四类典型输入

用编号方式指定必须生成的测试用例类型,避免模型自由发挥:

  1. 纯字母字符串(如"abc")→ 验证字母反转后位置不变、顺序倒置
  2. 纯特殊字符字符串(如"!@#")→ 验证特殊字符反转即整串倒序
  3. 字母与特殊字符交替(如"a!b@c")→ 验证两步反转后字母序列和符号序列各自独立倒序
  4. 首尾特殊字符+中间字母(如"!abc@")→ 验证字母段内部倒序、符号段首尾交换

这四类覆盖了指针扫描时的所有停顿组合:左指针遇字母右移、右指针遇符号左移、双指针同时跳过非目标字符等关键路径。

第四步:指定断言方式与输出格式

要求所有测试用例使用expect().toBe()断言,并且每个测试块必须包含input和expected两行注释。例如:// input: "!@#$%^&*()"// expected: ")(*&^%$#@!"。这种格式能让MarsCode准确对齐输入输出映射关系,避免生成expect().toEqual()等不匹配的断言类型。最后追加一句话:“不要生成任何console.log或describe外围结构,只输出it测试块”。【否则MarsCode会自动包裹describe,导致Jest运行时报错找不到测试套件】

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策