diff --git a/packages/runner/src/types/runner.ts b/packages/runner/src/types/runner.ts index 2892ff6b79ad..8ba40c29abb8 100644 --- a/packages/runner/src/types/runner.ts +++ b/packages/runner/src/types/runner.ts @@ -9,7 +9,7 @@ export interface VitestRunnerConfig { allowOnly?: boolean sequence: { shuffle?: boolean - seed?: number + seed: number hooks: SequenceHooks } maxConcurrency: number diff --git a/packages/vitest/src/node/config.ts b/packages/vitest/src/node/config.ts index a2f2cf12c333..5548b5dcbde8 100644 --- a/packages/vitest/src/node/config.ts +++ b/packages/vitest/src/node/config.ts @@ -231,6 +231,8 @@ export function resolveConfig( : BaseSequencer } resolved.sequence.hooks ??= 'parallel' + if (resolved.sequence.sequencer === RandomSequencer) + resolved.sequence.seed ??= Date.now() resolved.typecheck = { ...configDefaults.typecheck, diff --git a/packages/vitest/src/node/logger.ts b/packages/vitest/src/node/logger.ts index 9c2d2eae3264..7897002509f2 100644 --- a/packages/vitest/src/node/logger.ts +++ b/packages/vitest/src/node/logger.ts @@ -4,6 +4,7 @@ import { version } from '../../../../package.json' import type { ErrorWithDiff } from '../types' import type { TypeCheckError } from '../typecheck/typechecker' import { divider } from './reporters/renderers/utils' +import { RandomSequencer } from './sequencers/RandomSequencer' import type { Vitest } from './core' import { printError } from './error' @@ -105,6 +106,9 @@ export class Logger { this.log(`${c.inverse(c.bold(mode))} ${versionTest} ${c.gray(this.ctx.config.root)}`) + if (this.ctx.config.sequence.sequencer === RandomSequencer) + this.log(c.gray(` Running tests with seed "${this.ctx.config.sequence.seed}"`)) + if (this.ctx.config.browser) this.log(c.dim(c.green(` Browser runner started at http://${this.ctx.config.api?.host || 'localhost'}:${c.bold(`${this.ctx.server.config.server.port}`)}`))) else if (this.ctx.config.ui) diff --git a/packages/vitest/src/node/sequencers/RandomSequencer.ts b/packages/vitest/src/node/sequencers/RandomSequencer.ts index d6edc463813e..d3b3bd1d54d0 100644 --- a/packages/vitest/src/node/sequencers/RandomSequencer.ts +++ b/packages/vitest/src/node/sequencers/RandomSequencer.ts @@ -5,8 +5,6 @@ export class RandomSequencer extends BaseSequencer { public async sort(files: string[]) { const { sequence } = this.ctx.config - const seed = sequence?.seed ?? Date.now() - - return shuffle(files, seed) + return shuffle(files, sequence.seed) } } diff --git a/packages/vitest/src/types/config.ts b/packages/vitest/src/types/config.ts index b01c587e6ba6..d49e4e27d9b4 100644 --- a/packages/vitest/src/types/config.ts +++ b/packages/vitest/src/types/config.ts @@ -636,7 +636,7 @@ export interface ResolvedConfig extends Omit, 'config' | 'f sequencer: TestSequencerConstructor hooks: SequenceHooks shuffle?: boolean - seed?: number + seed: number } typecheck: TypecheckConfig