From 5ec7182d65b01fdf3f7f2098276c28f372e598da Mon Sep 17 00:00:00 2001 From: Linghong Date: Wed, 29 Jul 2026 13:23:07 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=BB=E5=B8=83=E5=9B=BE?= =?UTF-8?q?=E5=B1=82=E6=9F=A5=E8=AF=A2=E5=9C=A8=E9=87=8D=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E4=B8=8B=E7=9A=84=E6=B5=8B=E8=AF=95=E7=AB=9E?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit only exposes character animation generation 用例先 await findByAltText 取到 第一个图层,再用同步 getByAltText 取第二个。合并 web master 带入的项目封面 快照改动会在图层落位后触发一次重渲染,同步查询正好落进该窗口就取不到元素, CI 962 因此失败。 该写法在 master 上逐字相同,属既有竞态,非本分支引入;但它挡住本 PR 的 CI, 故改为异步查询容忍这次重渲染,不改变断言语义与产品代码。 Co-Authored-By: Claude Opus 5 --- .../ImageCanvasEditorGenerationIntegration.test.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/image-editor/ImageCanvasEditorGenerationIntegration.test.tsx b/src/components/image-editor/ImageCanvasEditorGenerationIntegration.test.tsx index 551005038..c307a36ee 100644 --- a/src/components/image-editor/ImageCanvasEditorGenerationIntegration.test.tsx +++ b/src/components/image-editor/ImageCanvasEditorGenerationIntegration.test.tsx @@ -3248,7 +3248,9 @@ describe('ImageCanvasEditorView generation integration', () => { }); expect(screen.queryByRole('menuitem', { name: '生成动画' })).toBeNull(); - const characterLayer = screen.getByAltText('画布图片:市场老妇人'); + // 项目封面快照会在图层落位后触发一次重渲染,同步查询可能正好落进该窗口; + // 这里用异步查询容忍这次重渲染,不改变断言语义。 + const characterLayer = await screen.findByAltText('画布图片:市场老妇人'); fireEvent.click(characterLayer.closest('button')!); expect(screen.getByText('角色')).toBeTruthy(); expect(screen.getByRole('button', { name: '生成动画' })).toBeTruthy();