feat: 第三期 — Tier 3 LLM-as-Judge 集成

This commit is contained in:
2026-06-09 16:11:48 +08:00
parent bb7d5e740c
commit 073b9c1e47
2 changed files with 324 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
import { describe, it, expect, beforeEach, afterEach } from "bun:test";
import { LLMJudgeRunner, isLLMAvailable } from "./tier3-llm-judge.ts";
import {
setupTempDir,
cleanupTempDir,
getTempDir,
createFreshProject,
writeDoc,
} from "./fixtures.ts";
const tier3Available = isLLMAvailable();
if (!tier3Available) {
console.log("RUNE_E2E_LLM_ 环境变量未配置Tier 3 测试已跳过");
}
describe("e2e: Tier 3", () => {
const runner = new LLMJudgeRunner();
const testFn = tier3Available ? it : it.skip;
beforeEach(async () => {
await setupTempDir();
});
afterEach(async () => {
await cleanupTempDir();
});
testFn(
"plan: 单文档输出有效行动计划",
async () => {
const config = await createFreshProject();
const result = await runner.runPlan(getTempDir(), "user-auth", "design", config);
expect(result.rawPlan).toBeDefined();
expect(result.rawPlan).toHaveProperty("actions");
const plan = result.rawPlan as { actions: unknown[] };
expect(plan.actions.length).toBeGreaterThan(0);
},
120_000,
);
testFn(
"build: 单任务输出有效行动计划",
async () => {
const config = await createFreshProject();
await writeDoc("auth", "task", "- [ ] 实现登录 API\n");
const result = await runner.runBuild(getTempDir(), "auth", config);
expect(result.rawPlan).toBeDefined();
expect(result.rawPlan).toHaveProperty("actions");
},
120_000,
);
});