onStackTrace
- 类型:
(error: Error, frame: ParsedStack) => boolean | void
在处理错误时,将过滤函数应用于每个堆栈跟踪的每一帧。这不适用于由 printConsoleTrace 打印的堆栈跟踪。第一个参数 error 是一个 TestError。
可用于过滤掉来自第三方库的堆栈跟踪帧。
TIP
堆栈跟踪的总大小通常也受 V8 的 Error.stackTraceLimit 数量限制。你可以在测试设置函数中将其设置为较高的值,以防止堆栈被截断。
ts
import type { ParsedStack, TestError } from 'vitest'
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
onStackTrace(error: TestError, { file }: ParsedStack): boolean | void {
// 如果遇到 ReferenceError,则显示整个堆栈。
if (error.name === 'ReferenceError') {
return
}
// 拒绝来自第三方库的所有帧。
if (file.includes('node_modules')) {
return false
}
},
},
})