






















@@ -30,6 +30,24 @@ function countMatching<T>(items: readonly T[], predicate: (item: T) => boolean):
3030return count;
3131}
323233+type UnitFastAnalysisEntry = ReturnType<typeof collectUnitFastTestFileAnalysis>[number];
34+35+function collectUnroutedForcedFiles(
36+analysis: readonly UnitFastAnalysisEntry[],
37+forcedFiles: ReadonlySet<string>,
38+): Array<{ file: string; forced: boolean; unitFast: boolean }> {
39+const unrouted: Array<{ file: string; forced: boolean; unitFast: boolean }> = [];
40+for (const entry of analysis) {
41+if (!forcedFiles.has(entry.file)) {
42+continue;
43+}
44+if (!entry.forced || !entry.unitFast) {
45+unrouted.push({ file: entry.file, forced: entry.forced, unitFast: entry.unitFast });
46+}
47+}
48+return unrouted;
49+}
50+3351describe("unit-fast vitest lane", () => {
3452it("runs cache-friendly tests without the reset-heavy runner or runtime setup", () => {
3553const config = createUnitFastVitestConfig({});
@@ -110,17 +128,16 @@ describe("unit-fast vitest lane", () => {
110128111129it("routes audited stateful-looking tests through the fast lane", () => {
112130const analysis = collectUnitFastTestFileAnalysis();
113-const forcedAnalysis = analysis.filter((entry) => forcedUnitFastTestFiles.includes(entry.file));
131+const forcedFileSet = new Set(forcedUnitFastTestFiles);
132+const forcedAnalysisCount = countMatching(analysis, (entry) => forcedFileSet.has(entry.file));
114133const unitFastTestFiles = getUnitFastTestFiles();
115134116-expect(forcedAnalysis).toHaveLength(forcedUnitFastTestFiles.length);
135+expect(forcedAnalysisCount).toBe(forcedUnitFastTestFiles.length);
117136for (const file of forcedUnitFastTestFiles) {
118137expect(unitFastTestFiles).toContain(file);
119138expect(isUnitFastTestFile(file)).toBe(true);
120139}
121-const unroutedForcedFiles = forcedAnalysis
122-.filter((entry) => !entry.forced || !entry.unitFast)
123-.map((entry) => ({ file: entry.file, forced: entry.forced, unitFast: entry.unitFast }));
140+const unroutedForcedFiles = collectUnroutedForcedFiles(analysis, forcedFileSet);
124141expect(unroutedForcedFiles).toEqual([]);
125142});
126143此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。