-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(vitest): export all reporters in
vitest/reporters
(#3980)
Co-authored-by: Vladimir <sleuths.slews0s@icloud.com>
- Loading branch information
1 parent
20263d9
commit 5704b34
Showing
7 changed files
with
107 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# Extending default reporters | ||
|
||
You can import reporters from `vitest/reporters` and extend them to create your custom reporters. | ||
|
||
## Extending built-in reporters | ||
|
||
In general, you don't need to create your reporter from scratch. `vitest` comes with several default reporting programs that you can extend. | ||
|
||
```ts | ||
import { DefaultReporter } from 'vitest/reporters' | ||
|
||
export default class MyDefaultReporter extends DefaultReporter { | ||
// do something | ||
} | ||
``` | ||
|
||
Of course, you can create your reporter from scratch. Just extend the `BaseReporter` class and implement the methods you need. | ||
|
||
And here is an example of a custom reporter: | ||
|
||
```ts | ||
// ./custom-reporter.ts | ||
import { BaseReporter } from 'vitest/reporters' | ||
|
||
export default class CustomReporter extends BaseReporter { | ||
onCollected() { | ||
const files = this.ctx.state.getFiles(this.watchFilters) | ||
this.reportTestSummary(files) | ||
} | ||
} | ||
``` | ||
|
||
Or implement the `Reporter` interface: | ||
|
||
```ts | ||
// ./custom-reporter.ts | ||
import { Reporter } from 'vitest/reporters' | ||
|
||
export default class CustomReporter implements Reporter { | ||
onCollected() { | ||
// print something | ||
} | ||
} | ||
``` | ||
|
||
Then you can use your custom reporter in the `vitest.config.ts` file: | ||
|
||
```ts | ||
import { defineConfig } from 'vitest/config' | ||
import CustomReporter from './custom-reporter.js' | ||
|
||
export default defineConfig({ | ||
test: { | ||
reporters: [new CustomReporter()], | ||
}, | ||
}) | ||
``` | ||
|
||
## Exported reporters | ||
|
||
`vitest` comes with a few built-in reporters that you can use out of the box. | ||
|
||
### Built-in reporters: | ||
|
||
1. `BasicReporter` | ||
1. `DefaultReporter` | ||
2. `DotReporter` | ||
3. `JsonReporter` | ||
4. `VerboseReporter` | ||
5. `TapReporter` | ||
6. `JUnitReporter` | ||
7. `TapFlatReporter` | ||
8. `HangingProcessReporter` | ||
|
||
### Base Abstract reporters: | ||
|
||
1. `BaseReporter` | ||
|
||
### Interface reporters: | ||
|
||
1. `Reporter` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export * from './dist/reporters.js' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export * from '../node/reporters' |