擴充預設報告器
您可以從 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
內建了一些報告器,您可以直接使用。
內建報告器:
BasicReporter
DefaultReporter
DotReporter
JsonReporter
VerboseReporter
TapReporter
JUnitReporter
TapFlatReporter
HangingProcessReporter
基礎抽象報告器:
BaseReporter
介面報告器:
Reporter