
























@@ -16,6 +16,18 @@ vi.mock("node:child_process", async () => {
16161717let killProcessTree: typeof import("./kill-tree.js").killProcessTree;
181819+function expectTaskkillCall(index: number, args: string[]) {
20+expect(spawnMock.mock.calls[index]).toStrictEqual([
21+"taskkill",
22+args,
23+{
24+detached: true,
25+stdio: "ignore",
26+windowsHide: true,
27+},
28+]);
29+}
30+1931async function withPlatform<T>(platform: NodeJS.Platform, run: () => Promise<T> | T): Promise<T> {
2032const originalPlatform = Object.getOwnPropertyDescriptor(process, "platform");
2133Object.defineProperty(process, "platform", { value: platform, configurable: true });
@@ -59,12 +71,7 @@ describe("killProcessTree", () => {
5971killProcessTree(4242, { graceMs: 25 });
60726173expect(spawnMock).toHaveBeenCalledTimes(1);
62-expect(spawnMock).toHaveBeenNthCalledWith(
63-1,
64-"taskkill",
65-["/T", "/PID", "4242"],
66-expect.objectContaining({ detached: true, stdio: "ignore" }),
67-);
74+expectTaskkillCall(0, ["/T", "/PID", "4242"]);
68756976await vi.advanceTimersByTimeAsync(25);
7077expect(spawnMock).toHaveBeenCalledTimes(1);
@@ -85,18 +92,8 @@ describe("killProcessTree", () => {
8592await vi.advanceTimersByTimeAsync(10);
86938794expect(spawnMock).toHaveBeenCalledTimes(2);
88-expect(spawnMock).toHaveBeenNthCalledWith(
89-1,
90-"taskkill",
91-["/T", "/PID", "5252"],
92-expect.objectContaining({ detached: true, stdio: "ignore" }),
93-);
94-expect(spawnMock).toHaveBeenNthCalledWith(
95-2,
96-"taskkill",
97-["/F", "/T", "/PID", "5252"],
98-expect.objectContaining({ detached: true, stdio: "ignore" }),
99-);
95+expectTaskkillCall(0, ["/T", "/PID", "5252"]);
96+expectTaskkillCall(1, ["/F", "/T", "/PID", "5252"]);
10097});
10198});
10299此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。