Skip to content
所有標籤

#testing

6 篇文章

跟成熟 coding agent 學設計(24):測試一個會動的 agent——fake-CLI 合約、錄製串流、TUI pilot

agent 的兩個依賴——LLM 和外部 CLI——都不是決定性的,但成熟專案的招式是把「會動的部分」與「邊界的形狀」切開:codex 用 wiremock 假 Responses API 加腳本化 SSE server,TUI 用 insta 快照;opencode 乾脆做了 VCR 式的 http-recorder 錄放套件;pi 把 eval 與 unit test 分成兩份 vitest config;omp 把 edit benchmark 本身用 unit test 圍起來。looplane 對外部 CLI 做了四層:單元測試、fake-CLI 合約、錄製串流整合、Textual pilot TUI 測試。核心方法論一句話:錄下真實的非決定性輸出,對它做決定性的斷言。

跟成熟 coding agent 學設計(5):Verification gate——改了檔案不算成功,驗過才算

五家參考專案裡沒有任何一家在 harness 層強制「宣告的驗證指令全過才算成功」:pi 靠模型自覺、OpenCode 和 Codex 把驗證寫進 system prompt、Claude Code 用獨立的對抗式驗證 subagent 但仍是軟性合約、只有 OMP 的 cleanse 真的由 harness 跑檢查。looplane 選最硬的一條路:改過檔案就必須重跑所有宣告的驗證指令,全過才給 terminal_reason=verified;沒動任何檔案就不重跑(no_changes),把「跑不跑」變成程式碼決定,不是模型決定。

tech deep-dive

Selenium 深入介紹:從 WebDriver session 到 Grid 的瀏覽器自動化

Selenium 透過標準化 WebDriver session 操作真實瀏覽器,適合跨瀏覽器流程、既有測試資產與遠端 Grid;它能執行 JavaScript 頁面,卻不保證繞過 CAPTCHA 或其他反自動化機制。

Vitest:共用 Vite 設定,但不要把 component test 當成 E2E

Vitest 的優勢不是 Jest API 長得熟,而是測試與應用共用 Vite 的 transform、alias 與 plugin;Browser Mode 增加真瀏覽器信心,卻仍不能取代完整 E2E。

CS146S Week 5:Express 拿 28 分、CockroachDB 拿 74 分——agent 就緒度是可以量的

Factory 把「repo 夠不夠格讓 agent 動」拆成八根柱子、五個等級,並公開了實測分數:CockroachDB L4(74%)、FastAPI L3(53%)、Express L2(28%)。核心論點是 agent readiness ≈ codebase 裡確定性驗證迴圈的密度——linter、type checker、測試,這些對 agent 來說是獎勵訊號。

ai deep-dive

Uncle Bob 不讀 agent 寫的程式碼:他用什麼關卡取代 code review

2026/7/23 Uncle Bob 那則 418 萬瀏覽的貼文不是宣言,是回覆——回一位 1983 年入行的工程師問「我心理上就是需要看懂程式碼,是不是太老派」。而且他沒有完全不讀:6/1 那則四階段 pipeline 的原文寫著 I spot check the code,門檻是 crap ≤ 6(業界慣例 30)、mutation 要 kill all survivors。附開源的 Acceptance-Pipeline-Specification 拆解與 Grady Booch 點名的三個指標盲區。