diff --git a/packages/vitest/src/node/error.ts b/packages/vitest/src/node/error.ts index 362b9864ad43..632e2af81992 100644 --- a/packages/vitest/src/node/error.ts +++ b/packages/vitest/src/node/error.ts @@ -188,9 +188,6 @@ function printStack( errorProperties: Record, onStack?: ((stack: ParsedStack) => void), ) { - if (!stack.length) - return - const logger = ctx.logger for (const frame of stack) { @@ -200,7 +197,8 @@ function printStack( logger.error(color(` ${c.dim(F_POINTER)} ${[frame.method, c.dim(`${path}:${frame.line}:${frame.column}`)].filter(Boolean).join(' ')}`)) onStack?.(frame) } - logger.error() + if (stack.length) + logger.error() const hasProperties = Object.keys(errorProperties).length > 0 if (hasProperties) { logger.error(c.red(c.dim(divider()))) diff --git a/packages/vitest/src/utils/tasks.ts b/packages/vitest/src/utils/tasks.ts index 30146713ee7c..762d084b07ab 100644 --- a/packages/vitest/src/utils/tasks.ts +++ b/packages/vitest/src/utils/tasks.ts @@ -10,7 +10,7 @@ export function hasBenchmark(suite: Arrayable): boolean { export function hasFailedSnapshot(suite: Arrayable): boolean { return getTests(suite).some((s) => { - return s.result?.errors?.some(e => e.message.match(/Snapshot .* mismatched/)) + return s.result?.errors?.some(e => e && e.message && e.message.match(/Snapshot .* mismatched/)) }) }