修复画布图层查询在重渲染窗口下的测试竞态
Project CI / Repository checks (pull_request) Successful in 1m0s
Project CI / Frontend tests (pull_request) Successful in 2m1s
Project CI / Native shell tests (pull_request) Successful in 2m31s
Project CI / Backend tests (pull_request) Successful in 3m41s

only exposes character animation generation 用例先 await findByAltText 取到
第一个图层,再用同步 getByAltText 取第二个。合并 web master 带入的项目封面
快照改动会在图层落位后触发一次重渲染,同步查询正好落进该窗口就取不到元素,
CI 962 因此失败。

该写法在 master 上逐字相同,属既有竞态,非本分支引入;但它挡住本 PR 的 CI,
故改为异步查询容忍这次重渲染,不改变断言语义与产品代码。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 13:23:07 +00:00
parent bc28f00c2d
commit 5ec7182d65
@@ -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();