新功能 (2026-06-19) — 測試與工具三件套
三項提升生產力的工具,皆為純標準庫,並走完整五層(facade、AC_*
執行器指令、MCP 工具、Script Builder):有種子的合成測試資料、MCP
registry server.json 產生器,以及風險導向的測試選擇。
合成測試資料
依一個極小的欄位 schema 產生**可重現**的假資料列——用來驅動資料驅動的
執行,而不必散布真實 PII。不需要 Faker;相同的 seed 永遠產生相同的
資料列:
from je_auto_control import generate_rows, write_dataset
rows = generate_rows({
"name": "name",
"email": {"type": "email", "domain": "acme.test"},
"age": {"type": "int", "min": 18, "max": 65},
"status": {"type": "choice", "choices": ["new", "vip"]},
}, count=100, seed=7)
write_dataset(rows, "people.csv") # 或 .json
支援的欄位型別:first_name、last_name、name、username、
email、phone、city、company、word、sentence、
uuid、bool、``int``(min/max)、``float``(min/max/ndigits)、
``choice``(choices)、``date``(start/end)。
AC_generate_data 指令會寫出檔案(再交給 AC_load_data)或直接
回傳資料列。
MCP registry 清單
產生描述此 AutoControl MCP 伺服器的 server.json,讓支援 MCP 的
agent 與 IDE 能發現並安裝它。清單由即時套件中繼資料建構,因此不會與
實際能力脫節:
from je_auto_control import write_server_manifest
write_server_manifest("server.json", include_tools=True)
include_tools 會把即時工具清單嵌入 _meta``(不更動 registry 規範
的核心欄位)。同時提供 ``AC_mcp_manifest 與 ac_mcp_manifest MCP
工具。
風險導向測試選擇
與其每次都跑整套測試,不如依據流程的**風險**排序——最近失敗、不穩定 (flaky)、太久沒跑、或從未跑過——用 run-history 紀錄計算,然後先跑最 高風險的(或只跑前 k 個):
from je_auto_control import select_flows, rank_flows
ranked = rank_flows(["login", "checkout", "report"])
risky = select_flows(["login", "checkout", "report"], k=2)
分數為 0.5*失敗率 + 0.2*上次失敗 + 0.2*不穩定度 + 0.1*陳舊度;
從未跑過的流程得 0.8``(未測試即高風險)。提供 ``AC_rank_tests /
AC_select_tests 以及 ac_rank_tests / ac_select_tests MCP
工具。