擴充報告器
你可以從 vitest/reporters
匯入報告器,並擴充它們來建立自訂報告器。
擴充內建報告器
一般來說,你不需要從頭建立報告器。vitest
附帶幾個預設報告程式,你可以擴充它們。
ts
import { } from 'vitest/reporters'
export default class extends {
// do something
}
當然,你可以從頭建立報告器。只要擴充 BaseReporter
類別,並實作你需要的函式即可。
以下是自訂報告器的範例
ts
// ./custom-reporter.js
import { BaseReporter } from 'vitest/reporters'
export default class CustomReporter extends BaseReporter {
onCollected() {
const files = this.ctx.state.getFiles(this.watchFilters)
this.reportTestSummary(files)
}
}
或實作 Reporter
介面
ts
// ./custom-reporter.js
import { Reporter } from 'vitest/reporters'
export default class CustomReporter implements Reporter {
onCollected() {
// print something
}
}
然後你可以在 vitest.config.ts
檔案中使用你的自訂報告器
ts
import { defineConfig } from 'vitest/config'
import CustomReporter from './custom-reporter.js'
export default defineConfig({
test: {
reporters: [new CustomReporter()],
},
})
匯出的報告器
vitest
附帶幾個 內建報告器,你可以直接使用。
內建報告器:
BasicReporter
DefaultReporter
DotReporter
JsonReporter
VerboseReporter
TapReporter
JUnitReporter
TapFlatReporter
HangingProcessReporter
基礎抽象報告器:
BaseReporter
介面報告器:
Reporter