扩展 Reporter
您可以从 vitest/reporters
中导入 Reporter 并扩展它们以创建自定义 Reporter。
扩展内置 Reporter
通常,您不需要从头开始创建 Reporter。vitest
带有几个默认的报告程序,您可以扩展它们。
ts
import { } from 'vitest/reporters'
export default class extends {
// do something
}
当然,您可以从头开始创建 Reporter。只需扩展 BaseReporter
类并实现您需要的函数即可。
这是一个自定义 Reporter 的示例
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
文件中使用您的自定义 Reporter
ts
import { defineConfig } from 'vitest/config'
import CustomReporter from './custom-reporter.js'
export default defineConfig({
test: {
reporters: [new CustomReporter()],
},
})
导出 Reporter
vitest
带有几个 内置 Reporter,您可以直接使用。
内置 Reporter:
BasicReporter
DefaultReporter
DotReporter
JsonReporter
VerboseReporter
TapReporter
JUnitReporter
TapFlatReporter
HangingProcessReporter
基础抽象 Reporter:
BaseReporter
接口 Reporter:
Reporter