Standardmäßige Reporter erweitern
Sie können Reporter von vitest/reporters
importieren und diese erweitern, um Ihre eigenen, angepassten Reporter zu erstellen.
Integrierte Reporter erweitern
In den meisten Fällen ist es nicht notwendig, einen Reporter von Grund auf neu zu erstellen. Vitest bietet eine Reihe integrierter Reporter, die Sie direkt verwenden und anpassen können.
import { DefaultReporter } from 'vitest/reporters';
export default class MyDefaultReporter extends DefaultReporter {
// Hier eigene Logik hinzufügen
}
Alternativ können Sie Ihren Reporter auch komplett neu erstellen. Erweitern Sie dazu die Klasse BaseReporter
und implementieren Sie die benötigten Methoden.
Hier ist ein Beispiel für einen benutzerdefinierten Reporter:
// ./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);
}
}
Oder implementieren Sie die Reporter
-Schnittstelle:
// ./custom-reporter.js
import { Reporter } from 'vitest/reporters';
export default class CustomReporter implements Reporter {
onCollected() {
// Hier Logik zur Ausgabe hinzufügen
}
}
Anschließend können Sie Ihren benutzerdefinierten Reporter in der Datei vitest.config.ts
verwenden:
import { defineConfig } from 'vitest/config';
import CustomReporter from './custom-reporter.js';
export default defineConfig({
test: {
reporters: [new CustomReporter()],
},
});
Exportierte Reporter
vitest
wird mit einer Reihe integrierter Reporter ausgeliefert, die Sie direkt verwenden können.
Integrierte Reporter:
BasicReporter
DefaultReporter
DotReporter
JsonReporter
VerboseReporter
TapReporter
JUnitReporter
TapFlatReporter
HangingProcessReporter
Abstrakte Basisreporter:
BaseReporter
Reporter-Schnittstelle:
Reporter