
























@@ -3,6 +3,7 @@ import { describe, expect, it, vi } from "vitest";
33import {
44installVitestNoOutputWatchdog,
55resolveDirectNodeVitestArgs,
6+resolveExplicitTestFileNoPassArgs,
67resolveImplicitVitestArgs,
78resolveMissingVitestDependencyMessage,
89resolveMissingExplicitTestFiles,
@@ -86,6 +87,34 @@ describe("scripts/run-vitest", () => {
8687expect(resolveImplicitVitestArgs(argv)).toBe(argv);
8788});
888990+it("fails explicit test-file runs when scoped configs would otherwise pass with no tests", () => {
91+expect(
92+resolveExplicitTestFileNoPassArgs([
93+"run",
94+"--config",
95+"test/vitest/vitest.tooling.config.ts",
96+"test/scripts/run-vitest.test.ts",
97+]),
98+).toEqual([
99+"run",
100+"--config",
101+"test/vitest/vitest.tooling.config.ts",
102+"test/scripts/run-vitest.test.ts",
103+"--passWithNoTests=false",
104+]);
105+});
106+107+it("inserts explicit no-test failure before Vitest passthrough args", () => {
108+expect(
109+resolveExplicitTestFileNoPassArgs(["run", "test/scripts/run-vitest.test.ts", "--", "-x"]),
110+).toEqual(["run", "test/scripts/run-vitest.test.ts", "--passWithNoTests=false", "--", "-x"]);
111+});
112+113+it("does not force no-test failure for globs or basename filters", () => {
114+const argv = ["run", "run-vitest.test.ts", "test/**/*.test.ts"];
115+expect(resolveExplicitTestFileNoPassArgs(argv)).toBe(argv);
116+});
117+89118it("reports missing explicit test files before Vitest can silently ignore them", () => {
90119const fsImpl = {
91120existsSync: (filePath: string) =>
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。