コンテンツにスキップ

レポーターの拡張

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 にはすぐに使用できるいくつかの 組み込みレポーター が付属しています。

組み込みレポーター:

  1. BasicReporter
  2. DefaultReporter
  3. DotReporter
  4. JsonReporter
  5. VerboseReporter
  6. TapReporter
  7. JUnitReporter
  8. TapFlatReporter
  9. HangingProcessReporter

基本抽象レポーター:

  1. BaseReporter

インターフェイス レポーター:

  1. Reporter

MIT ライセンスに基づいてリリースされています。