Extensión de los Reportadores Predeterminados
Puedes importar reportadores desde vitest/reporters
y extenderlos para crear tus propios reportadores personalizados.
Extender los Reportadores Integrados
En general, no es necesario crear un reportador desde cero. vitest
incluye varios reportadores predeterminados que puedes extender.
ts
import { DefaultReporter } from 'vitest/reporters';
export default class MyDefaultReporter extends DefaultReporter {
// Realizar alguna acción
}
Por supuesto, también puedes crear uno desde cero. Simplemente extiende la clase BaseReporter
e implementa los métodos requeridos.
Aquí tienes un ejemplo de un reportador personalizado:
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);
}
}
O implementa la interfaz Reporter
:
ts
// ./custom-reporter.js
import { Reporter } from 'vitest/reporters';
export default class CustomReporter implements Reporter {
onCollected() {
// Imprimir algo
}
}
Luego puedes usar tu reportador personalizado en el archivo vitest.config.ts
:
ts
import { defineConfig } from 'vitest/config';
import CustomReporter from './custom-reporter.js';
export default defineConfig({
test: {
reporters: [new CustomReporter()],
},
});
Reportadores Exportados
vitest
incluye algunos reportadores integrados que puedes usar directamente.
Reportadores Integrados:
BasicReporter
DefaultReporter
DotReporter
JsonReporter
VerboseReporter
TapReporter
JUnitReporter
TapFlatReporter
HangingProcessReporter
Reportadores Abstractos Base:
BaseReporter
Interfaces para Reportadores:
Reporter