擴充預設報告器
您可以從 vitest/reporters 匯入報告器,並擴充它們以建立您的自訂報告器。
擴充內建報告器
通常,您不需要從頭開始建立您的報告器。vitest 內建了數個預設報告器,您可以擴充它們。
ts
import { DefaultReporter } from 'vitest/reporters';
export default class MyDefaultReporter extends DefaultReporter {
// 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 內建了一些報告器,您可以直接使用。
內建報告器:
BasicReporterDefaultReporterDotReporterJsonReporterVerboseReporterTapReporterJUnitReporterTapFlatReporterHangingProcessReporter
基礎抽象報告器:
BaseReporter
介面報告器:
Reporter