拆分预览快捷操作测试并修复初始化时序
将单条长流程拆为 79 个独立用例,每例重新初始化并使用默认超时 保留有效行为断言并删除无实际操作的空断言块 补齐编辑器插件 mock,移除重复的项目打开状态等待 同步测试拆分边界与定向验证文档
This commit is contained in:
+8
-17
@@ -1,20 +1,11 @@
|
||||
import { it } from '../harness';
|
||||
import { openPreviewShortcutProject } from './preview-shortcuts/actions';
|
||||
import { arrangePreviewShortcutTest } from './preview-shortcuts/arrange';
|
||||
import { assertPlanningAndStatusShortcutFlow } from './preview-shortcuts/assert-planning-and-status-shortcuts';
|
||||
import { assertPlaytestAndReleaseShortcutFlow } from './preview-shortcuts/assert-playtest-and-release-shortcuts';
|
||||
import { assertProjectAndDesignShortcutFlow } from './preview-shortcuts/assert-project-and-design-shortcuts';
|
||||
import { assertProjectToolsAndPreviewFlow } from './preview-shortcuts/assert-project-tools-and-preview';
|
||||
import { registerPlanningAndStatusShortcutTests } from './preview-shortcuts/assert-planning-and-status-shortcuts';
|
||||
import { registerPlaytestAndReleaseShortcutTests } from './preview-shortcuts/assert-playtest-and-release-shortcuts';
|
||||
import { registerProjectAndDesignShortcutTests } from './preview-shortcuts/assert-project-and-design-shortcuts';
|
||||
import { registerProjectToolsAndPreviewTests } from './preview-shortcuts/assert-project-tools-and-preview';
|
||||
|
||||
export function registerProjectPreviewShortcutTests() {
|
||||
it('runs preview shortcuts from the main project window', async () => {
|
||||
const { invoke } = arrangePreviewShortcutTest();
|
||||
|
||||
openPreviewShortcutProject();
|
||||
|
||||
await assertProjectAndDesignShortcutFlow(invoke);
|
||||
await assertPlanningAndStatusShortcutFlow(invoke);
|
||||
await assertPlaytestAndReleaseShortcutFlow(invoke);
|
||||
await assertProjectToolsAndPreviewFlow(invoke);
|
||||
}, 60000);
|
||||
registerProjectAndDesignShortcutTests();
|
||||
registerPlanningAndStatusShortcutTests();
|
||||
registerPlaytestAndReleaseShortcutTests();
|
||||
registerProjectToolsAndPreviewTests();
|
||||
}
|
||||
|
||||
+6
-2
@@ -1,5 +1,9 @@
|
||||
import { renderAppAt } from '../../harness';
|
||||
import { renderAppAt, screen } from '../../harness';
|
||||
import { arrangePreviewShortcutTest } from './arrange';
|
||||
|
||||
export function openPreviewShortcutProject() {
|
||||
export async function openPreviewShortcutProject() {
|
||||
const { invoke } = arrangePreviewShortcutTest();
|
||||
renderAppAt('/?main&projectPath=%2Ftmp%2Fauthorized-game');
|
||||
await screen.findByText('已打开:authorized-game');
|
||||
return invoke;
|
||||
}
|
||||
|
||||
+1732
-1655
File diff suppressed because it is too large
Load Diff
+1753
-1769
File diff suppressed because it is too large
Load Diff
+1589
-1527
File diff suppressed because it is too large
Load Diff
+877
-776
File diff suppressed because it is too large
Load Diff
+3
-4
@@ -7,6 +7,9 @@ export function createPreviewShortcutInvoke({
|
||||
}: PreviewShortcutFixture) {
|
||||
const invoke = vi.fn(
|
||||
async (command: string, args?: Record<string, unknown>) => {
|
||||
if (command === 'set_agc_plugin_project_path') {
|
||||
return null;
|
||||
}
|
||||
if (command === 'append_local_permission_log') {
|
||||
return {};
|
||||
}
|
||||
@@ -296,7 +299,3 @@ export function createPreviewShortcutInvoke({
|
||||
|
||||
return invoke;
|
||||
}
|
||||
|
||||
export type PreviewShortcutInvoke = ReturnType<
|
||||
typeof createPreviewShortcutInvoke
|
||||
>;
|
||||
|
||||
@@ -57,6 +57,8 @@
|
||||
|
||||
提示词测试验证实际请求中的片段来源、动态参数和工具结构;措辞不作为逐字契约。已有行为测试覆盖的限制不再另设整段文案检查。Direct 回合测试复用生产的消息转换和文件投影函数,不维护仅供测试调用的回合编排副本。
|
||||
|
||||
AGC 预览快捷操作的界面测试按独立命令或有状态短流程注册,每例重新建立 fixture、原生调用 mock 和页面,并等待项目打开后再记录调用计数。预览启停、导出确认与取消等连续行为保留在同一用例;互不依赖的只读命令不串成一条长对话,也不共享 DOM 或提高超时来容纳整组流程。
|
||||
|
||||
Rust 分片失败日志保留有界的失败详情,包括 panic 位置、断言和最终通过/失败数量;分片选中数量标为 selected,避免误读为失败数量。修改分片日志时运行 `node --test apps/ai-game-creator-shell/scripts/run-rust-shell-test-shards.test.mjs`,用最小 Rust fixture 验证失败详情和成功摘要。
|
||||
|
||||
AGC 运行时配置默认值调整时,同步核对 Rust 默认值、分发配置模板、设置弹窗默认草稿和 `runtime-settings.suite.ts` 的恢复默认断言;显式传入旧值的配置读取用例仍验证原值保留,不批量替换测试数据。
|
||||
|
||||
@@ -93,6 +93,8 @@ Rust 侧在 `server-rs/crates/shared-contracts` 维护唯一权威 `GameCreation
|
||||
|
||||
## Agent 提示词与回合测试边界
|
||||
|
||||
预览快捷操作的 UI 回归按独立命令及必要的连续操作拆分,每例使用新的项目 fixture、invoke mock 和页面,项目打开后再采样副作用调用计数。保留命令输出、草稿填入、焦点、权限确认和原生参数断言;预览启停、快照回滚取消、导出确认与取消作为各自短流程验证,使用默认测试超时。定向运行 `npx vitest run apps/ai-game-creator-shell/tests/appSurface.test.ts -t "预览快捷操作:"`。
|
||||
|
||||
提示词拼装测试核对动态错误、外置片段和实际 Provider 请求结构,避免绑定可自由润色的中文原句。源码载荷限制由实际动作校验与 Provider 修复测试覆盖;工具参数自动修复和超预算上下文压缩继续验证恢复结果、状态及私有信息隔离。Direct 消息原样转发复用生产请求转换测试,文件变化与版本幂等直接测试生产文件投影函数,删除测试专用的重复回合编排。
|
||||
|
||||
Rust 分片日志在失败时输出有界 stdout 尾部中的失败段,保留 panic 位置、断言详情和 Rust 汇总;selected 只表示该分片选中的用例数量。成功分片保留简短摘要。定向验证使用相关 Rust 用例与 `node --test apps/ai-game-creator-shell/scripts/run-rust-shell-test-shards.test.mjs`。
|
||||
|
||||
Reference in New Issue
Block a user