diff --git a/apps/api/src/modules/identity/identity.int.spec.ts b/apps/api/src/modules/identity/identity.int.spec.ts index 1b90485..25b9474 100644 --- a/apps/api/src/modules/identity/identity.int.spec.ts +++ b/apps/api/src/modules/identity/identity.int.spec.ts @@ -318,7 +318,9 @@ describe('identity 集成(真实 PG / Redis)', () => { expect(tree.statusCode).toBe(200); const treeBody = tree.json<{ items: { name: string; children: unknown[] }[] }>(); expect(treeBody.items.length).toBeGreaterThanOrEqual(3); - expect(treeBody.items[0]?.children.length).toBeGreaterThan(0); + // 根部门按 sortOrder 排序,管理员可新建无子级的根部门并排在最前; + // 这里只校验树里存在带子级的根部门,不依赖当前第一项(本地手工数据会让测试失真)。 + expect(treeBody.items.some((item) => item.children.length > 0)).toBe(true); const roles = await created.app.inject({ method: 'GET', diff --git a/apps/api/vitest.int.config.ts b/apps/api/vitest.int.config.ts index fd8a853..aa3b085 100644 --- a/apps/api/vitest.int.config.ts +++ b/apps/api/vitest.int.config.ts @@ -6,5 +6,8 @@ export default defineConfig({ include: ['src/**/*.int.spec.ts'], testTimeout: 30_000, hookTimeout: 30_000, + // 集成测试共用本地真实 PG / Redis,且各文件会清理带前缀的夹具(如 it.* 与 it.dep.* 重叠)。 + // 文件级并行会让跨文件的夹具清理 / 数据断言互相干扰,因此串行执行。 + fileParallelism: false, }, });