Étendre les reporters par défaut
Vous pouvez importer des reporters depuis vitest/reporters
et les étendre pour créer vos propres reporters personnalisés.
Extension des reporters intégrés
Il n'est généralement pas nécessaire de créer un reporter de toutes pièces. vitest
propose plusieurs reporters par défaut que vous pouvez étendre.
ts
import { DefaultReporter } from 'vitest/reporters';
export default class MyDefaultReporter extends DefaultReporter {
// faire quelque chose
}
Bien entendu, vous pouvez créer votre reporter de zéro. Étendez simplement BaseReporter
et implémentez les méthodes nécessaires.
Voici un exemple de reporter personnalisé :
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);
}
}
Ou implémentez l'interface Reporter
:
ts
// ./custom-reporter.js
import { Reporter } from 'vitest/reporters';
export default class CustomReporter implements Reporter {
onCollected() {
// afficher quelque chose
}
}
Ensuite, vous pouvez utiliser votre reporter personnalisé dans vitest.config.ts
:
ts
import { defineConfig } from 'vitest/config';
import CustomReporter from './custom-reporter.js';
export default defineConfig({
test: {
reporters: [new CustomReporter()],
},
});
Reporters exportés
vitest
est fourni avec plusieurs reporters intégrés prêts à l'emploi.
Reporters intégrés :
BasicReporter
DefaultReporter
DotReporter
JsonReporter
VerboseReporter
TapReporter
JUnitReporter
TapFlatReporter
HangingProcessReporter
Classe de base abstraite pour les reporters :
BaseReporter
Interface des reporters :
Reporter