{ "config": { "configFile": "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\playwright.config.ts", "rootDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests", "forbidOnly": false, "fullyParallel": false, "globalSetup": "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\global-setup.ts", "globalTeardown": "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\global-teardown.ts", "globalTimeout": 0, "grep": {}, "grepInvert": null, "maxFailures": 0, "metadata": {}, "preserveOutput": "always", "projects": [ { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "smoke", "name": "smoke", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests/smoke", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 120000 }, { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "regression", "name": "regression", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests/regression", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 120000 }, { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "critical-journeys", "name": "critical-journeys", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests/e2e/ui/critical-journeys", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 120000 }, { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "core-business", "name": "core-business", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests/e2e/core-business", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 480000 }, { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "root-singles", "name": "root-singles", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests", "testIgnore": [], "testMatch": [ "/(example-rotation|page-cleanup-screenshot|textarea-size)\\.spec\\.ts$/" ], "timeout": 120000 } ], "quiet": false, "reporter": [ [ "list", null ], [ "json", { "outputFile": "test-results/results.json" } ], [ "html", { "outputFolder": "test-results/report", "open": "never" } ], [ "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\helpers\\reporter.ts", null ] ], "reportSlowTests": { "max": 5, "threshold": 300000 }, "shard": null, "tags": [], "updateSnapshots": "missing", "updateSourceMethod": "patch", "version": "1.60.0", "workers": 1, "webServer": null }, "suites": [ { "title": "e2e\\core-business\\book-core-flow.spec.ts", "file": "e2e/core-business/book-core-flow.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "核心业务:书籍 大纲 → 内容 → 音频", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 57, "column": 15, "specs": [ { "title": "CORE-1 预估字数与时长", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-6905244f38cc2740417b", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 88, "column": 7 }, { "title": "CORE-2 创建书籍(fast-path:自动触发大纲→内容→音频全链路)", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-b848cb5c881c75bbdf58", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 98, "column": 7 }, { "title": "CORE-3 大纲 + 内容:轮询直到 chapters 有真实内容", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-59737d61eeac05ddb5b0", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 116, "column": 7 }, { "title": "CORE-4 触发音频生成(best-effort,不强制全部完成)", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-33044f8a872d51a859e8", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 150, "column": 7 }, { "title": "CORE-5 书籍至少完成内容阶段", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-c0f2f14784e8aec7174c", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 206, "column": 7 }, { "title": "CORE-6 书籍列表页能加载(hash 路由 + #app 根可见)", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-6897fbf9f8db1c31e475", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 232, "column": 7 }, { "title": "CORE-7 创建页能加载", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-d81c560b616532719251", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 241, "column": 7 }, { "title": "CORE-8 详情页能加载", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-d5473ac2c5471776fad9", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 250, "column": 7 }, { "title": "CORE-9 章节详情页能加载", "ok": true, "tags": [], "tests": [ { "timeout": 480000, "annotations": [], "expectedStatus": "passed", "projectId": "core-business", "projectName": "core-business", "results": [], "status": "skipped" } ], "id": "c8e4099ea871e83365ab-9ec34630bafa367beccc", "file": "e2e/core-business/book-core-flow.spec.ts", "line": 259, "column": 7 } ] } ] } ], "errors": [], "stats": { "startTime": "2026-07-04T04:17:20.877Z", "duration": 31.138000000000034, "expected": 0, "skipped": 9, "unexpected": 0, "flaky": 0 } }