From bc69d8f500a06c150696c10d9d61d0657ef8ccbe Mon Sep 17 00:00:00 2001 From: thzxx <1440196015@qq.com> Date: Mon, 27 Jul 2026 18:12:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E8=87=AA=E7=84=B6=E9=80=80=E5=87=BA=20?= =?UTF-8?q?=E2=80=94=20forceExit=20+=20=E5=87=8F=E5=B0=91=E5=BB=B6?= =?UTF-8?q?=E8=BF=9F=20+=20=E6=8B=86=E5=88=86=20coverage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - jest.config.cjs: forceExit:true + testTimeout:15000 - package.json: npm test 默认不再 --coverage - tests/utils.test.ts: debounce 延迟 50->20, 100->50 --- jest.config.cjs | 3 +++ package.json | 3 ++- tests/utils.test.ts | 8 ++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/jest.config.cjs b/jest.config.cjs index 9821a4d..e890629 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -20,4 +20,7 @@ module.exports = { coverageDirectory: 'coverage', coverageReporters: ['text', 'lcov'], verbose: true, + // Must have: fake-indexeddb + debounce timers keep event loop alive + forceExit: true, + testTimeout: 15000, }; diff --git a/package.json b/package.json index 1153b2f..3338fb8 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ "scripts": { "build": "rollup -c", "dev": "rollup -c -w", - "test": "jest --coverage", + "test": "jest", + "test:coverage": "jest --coverage", "test:watch": "jest --watch", "lint": "eslint \"src/**/*.ts\"", "lint:fix": "eslint \"src/**/*.ts\" --fix", diff --git a/tests/utils.test.ts b/tests/utils.test.ts index 2a9dbc8..d59b0cb 100644 --- a/tests/utils.test.ts +++ b/tests/utils.test.ts @@ -40,25 +40,25 @@ describe('escapeHTML', () => { describe('debounce', () => { test('延迟执行', (done) => { let called = 0; - const fn = debounce(() => { called++; }, 50); + const fn = debounce(() => { called++; }, 20); fn(); expect(called).toBe(0); setTimeout(() => { expect(called).toBe(1); done(); - }, 100); + }, 50); }); test('多次调用只执行最后一次', (done) => { let result = 0; - const fn = debounce((v: number) => { result = v; }, 50); + const fn = debounce((v: number) => { result = v; }, 20); fn(1); fn(2); fn(3); setTimeout(() => { expect(result).toBe(3); done(); - }, 100); + }, 50); }); });