レポーターの拡張
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