From 33bc41f55f1031bff76fafc3bf4639b765840569 Mon Sep 17 00:00:00 2001 From: GurkiranSingh Date: Tue, 24 Jan 2023 20:11:34 -0500 Subject: [PATCH 1/2] feat: Hide skipped test lines Signed-off-by: GurkiranSingh --- examples/basic/test/basic.test.ts | 2 +- examples/basic/test/suite.test.ts | 2 +- examples/basic/vite.config.ts | 2 ++ packages/vitest/src/defaults.ts | 1 + .../node/reporters/renderers/listRenderer.ts | 27 ++++++++++++++++--- packages/vitest/src/types/config.ts | 7 +++++ 6 files changed, 35 insertions(+), 6 deletions(-) diff --git a/examples/basic/test/basic.test.ts b/examples/basic/test/basic.test.ts index 0f6d96168861..3b66ea65de94 100644 --- a/examples/basic/test/basic.test.ts +++ b/examples/basic/test/basic.test.ts @@ -8,7 +8,7 @@ test('Math.sqrt()', () => { expect(Math.sqrt(2)).toBe(Math.SQRT2) }) -test('JSON', () => { +test.skip('JSON', () => { const input = { foo: 'hello', bar: 'world', diff --git a/examples/basic/test/suite.test.ts b/examples/basic/test/suite.test.ts index cecb84ccedc8..30ef16d8d9fc 100644 --- a/examples/basic/test/suite.test.ts +++ b/examples/basic/test/suite.test.ts @@ -5,7 +5,7 @@ describe('suite name', () => { assert.equal(Math.sqrt(4), 2) }) - it('bar', () => { + it.only('bar', () => { expect(1 + 1).eq(2) }) diff --git a/examples/basic/vite.config.ts b/examples/basic/vite.config.ts index 8bc6d4f1f0b8..75e5d5f4695c 100644 --- a/examples/basic/vite.config.ts +++ b/examples/basic/vite.config.ts @@ -8,5 +8,7 @@ export default defineConfig({ test: { /* for example, use global to avoid globals imports (describe, test, expect): */ // globals: true, + reporter: ['verbose'], + silentSkip: true, }, }) diff --git a/packages/vitest/src/defaults.ts b/packages/vitest/src/defaults.ts index 5aef9bc4bdaf..e304c6bf548d 100644 --- a/packages/vitest/src/defaults.ts +++ b/packages/vitest/src/defaults.ts @@ -77,6 +77,7 @@ const config = { update: false, reporters: [], silent: false, + silentSkip: false, api: false, ui: false, uiBase: '/__vitest__/', diff --git a/packages/vitest/src/node/reporters/renderers/listRenderer.ts b/packages/vitest/src/node/reporters/renderers/listRenderer.ts index d9e353593ec4..e624de61785f 100644 --- a/packages/vitest/src/node/reporters/renderers/listRenderer.ts +++ b/packages/vitest/src/node/reporters/renderers/listRenderer.ts @@ -143,8 +143,15 @@ export function renderTree(tasks: Task[], options: ListRendererOptions, level = output = output.concat(renderHookState(task, 'beforeAll', level + 1)) output = output.concat(renderHookState(task, 'beforeEach', level + 1)) if (task.type === 'suite' && task.tasks.length > 0) { - if ((task.result?.state === 'fail' || task.result?.state === 'run' || options.renderSucceed)) - output = output.concat(renderTree(task.tasks, options, level + 1)) + if ((task.result?.state === 'fail' || task.result?.state === 'run' || options.renderSucceed)) { + if (options.logger.ctx.config.silentSkip) { + const filteredTasks = task.tasks.filter(t => t.mode !== 'skip' && t.mode !== 'todo') + output = output.concat(renderTree(filteredTasks, options, level + 1)) + } + else { + output = output.concat(renderTree(task.tasks, options, level + 1)) + } + } } output = output.concat(renderHookState(task, 'afterAll', level + 1)) output = output.concat(renderHookState(task, 'afterEach', level + 1)) @@ -161,7 +168,13 @@ export const createListRenderer = (_tasks: Task[], options: ListRendererOptions) const log = options.logger.logUpdate function update() { - log(renderTree(tasks, options)) + if (options.logger.ctx.config.silentSkip) { + const filteredTasks = tasks.filter(t => t.mode !== 'skip' && t.mode !== 'todo') + log(renderTree(filteredTasks, options)) + } + else { + log(renderTree(tasks, options)) + } } return { @@ -182,7 +195,13 @@ export const createListRenderer = (_tasks: Task[], options: ListRendererOptions) timer = undefined } log.clear() - options.logger.log(renderTree(tasks, options)) + if (options.logger.ctx.config.silentSkip) { + const filteredTasks = tasks.filter(t => t.mode !== 'skip' && t.mode !== 'todo') + options.logger.log(renderTree(filteredTasks, options)) + } + else { + options.logger.log(renderTree(tasks, options)) + } return this }, clear() { diff --git a/packages/vitest/src/types/config.ts b/packages/vitest/src/types/config.ts index edbed2d22833..a6fd735f89ee 100644 --- a/packages/vitest/src/types/config.ts +++ b/packages/vitest/src/types/config.ts @@ -247,6 +247,13 @@ export interface InlineConfig { */ silent?: boolean + /** + * Hide logs for skipped tests + * + * @default false + */ + silentSkip?: boolean + /** * Path to setup files */ From 7bd704eee689de46bf3347485527d1793928b3d8 Mon Sep 17 00:00:00 2001 From: GurkiranSingh Date: Sun, 5 Feb 2023 16:57:35 -0500 Subject: [PATCH 2/2] chore: Changed option name from silentSkip to hideSkippedTests Signed-off-by: GurkiranSingh --- examples/basic/test/basic.test.ts | 2 +- examples/basic/test/suite.test.ts | 2 +- examples/basic/vite.config.ts | 2 -- packages/vitest/src/defaults.ts | 2 +- packages/vitest/src/node/cli.ts | 1 + .../vitest/src/node/reporters/renderers/listRenderer.ts | 6 +++--- packages/vitest/src/types/config.ts | 2 +- 7 files changed, 8 insertions(+), 9 deletions(-) diff --git a/examples/basic/test/basic.test.ts b/examples/basic/test/basic.test.ts index 3b66ea65de94..0f6d96168861 100644 --- a/examples/basic/test/basic.test.ts +++ b/examples/basic/test/basic.test.ts @@ -8,7 +8,7 @@ test('Math.sqrt()', () => { expect(Math.sqrt(2)).toBe(Math.SQRT2) }) -test.skip('JSON', () => { +test('JSON', () => { const input = { foo: 'hello', bar: 'world', diff --git a/examples/basic/test/suite.test.ts b/examples/basic/test/suite.test.ts index 30ef16d8d9fc..cecb84ccedc8 100644 --- a/examples/basic/test/suite.test.ts +++ b/examples/basic/test/suite.test.ts @@ -5,7 +5,7 @@ describe('suite name', () => { assert.equal(Math.sqrt(4), 2) }) - it.only('bar', () => { + it('bar', () => { expect(1 + 1).eq(2) }) diff --git a/examples/basic/vite.config.ts b/examples/basic/vite.config.ts index 75e5d5f4695c..8bc6d4f1f0b8 100644 --- a/examples/basic/vite.config.ts +++ b/examples/basic/vite.config.ts @@ -8,7 +8,5 @@ export default defineConfig({ test: { /* for example, use global to avoid globals imports (describe, test, expect): */ // globals: true, - reporter: ['verbose'], - silentSkip: true, }, }) diff --git a/packages/vitest/src/defaults.ts b/packages/vitest/src/defaults.ts index 8d6dc5ae4f83..3934a1d35fdd 100644 --- a/packages/vitest/src/defaults.ts +++ b/packages/vitest/src/defaults.ts @@ -76,7 +76,7 @@ const config = { update: false, reporters: [], silent: false, - silentSkip: false, + hideSkippedTests: false, api: false, ui: false, uiBase: '/__vitest__/', diff --git a/packages/vitest/src/node/cli.ts b/packages/vitest/src/node/cli.ts index d2a03f80c52c..0324442e9ec8 100644 --- a/packages/vitest/src/node/cli.ts +++ b/packages/vitest/src/node/cli.ts @@ -22,6 +22,7 @@ cli .option('--api [api]', 'Serve API, available options: --api.port , --api.host [host] and --api.strictPort') .option('--threads', 'Enabled threads (default: true)') .option('--silent', 'Silent console output from tests') + .option('--hideSkippedTests', 'Hide logs for skipped tests') .option('--isolate', 'Isolate environment for each test file (default: true)') .option('--reporter ', 'Specify reporters') .option('--outputDiffMaxSize ', 'Object diff output max size (default: 10000)') diff --git a/packages/vitest/src/node/reporters/renderers/listRenderer.ts b/packages/vitest/src/node/reporters/renderers/listRenderer.ts index 25c969592833..e49bd770e6a6 100644 --- a/packages/vitest/src/node/reporters/renderers/listRenderer.ts +++ b/packages/vitest/src/node/reporters/renderers/listRenderer.ts @@ -144,7 +144,7 @@ export function renderTree(tasks: Task[], options: ListRendererOptions, level = output = output.concat(renderHookState(task, 'beforeEach', level + 1)) if (task.type === 'suite' && task.tasks.length > 0) { if ((task.result?.state === 'fail' || task.result?.state === 'run' || options.renderSucceed)) { - if (options.logger.ctx.config.silentSkip) { + if (options.logger.ctx.config.hideSkippedTests) { const filteredTasks = task.tasks.filter(t => t.mode !== 'skip' && t.mode !== 'todo') output = output.concat(renderTree(filteredTasks, options, level + 1)) } @@ -168,7 +168,7 @@ export const createListRenderer = (_tasks: Task[], options: ListRendererOptions) const log = options.logger.logUpdate function update() { - if (options.logger.ctx.config.silentSkip) { + if (options.logger.ctx.config.hideSkippedTests) { const filteredTasks = tasks.filter(t => t.mode !== 'skip' && t.mode !== 'todo') log(renderTree(filteredTasks, options)) } @@ -195,7 +195,7 @@ export const createListRenderer = (_tasks: Task[], options: ListRendererOptions) timer = undefined } log.clear() - if (options.logger.ctx.config.silentSkip) { + if (options.logger.ctx.config.hideSkippedTests) { const filteredTasks = tasks.filter(t => t.mode !== 'skip' && t.mode !== 'todo') options.logger.log(renderTree(filteredTasks, options)) } diff --git a/packages/vitest/src/types/config.ts b/packages/vitest/src/types/config.ts index ab2929d8e3ca..a0dbd2d36527 100644 --- a/packages/vitest/src/types/config.ts +++ b/packages/vitest/src/types/config.ts @@ -268,7 +268,7 @@ export interface InlineConfig { * * @default false */ - silentSkip?: boolean + hideSkippedTests?: boolean /** * Path to setup files