File tree 5 files changed +64
-1
lines changed
packages/vitest/src/node/reporters
5 files changed +64
-1
lines changed Original file line number Diff line number Diff line change @@ -328,8 +328,12 @@ export abstract class BaseReporter implements Reporter {
328
328
const groupName = getFullName ( group , c . dim ( ' > ' ) )
329
329
logger . log ( ` ${ bench . name } ${ c . dim ( ` - ${ groupName } ` ) } ` )
330
330
const siblings = group . tasks
331
- . filter ( i => i . result ?. benchmark && i !== bench )
331
+ . filter ( i => i . meta . benchmark && i . result ?. benchmark && i !== bench )
332
332
. sort ( ( a , b ) => a . result ! . benchmark ! . rank - b . result ! . benchmark ! . rank )
333
+ if ( siblings . length === 0 ) {
334
+ logger . log ( '' )
335
+ continue
336
+ }
333
337
for ( const sibling of siblings ) {
334
338
const number = `${ ( sibling . result ! . benchmark ! . mean / bench . result ! . benchmark ! . mean ) . toFixed ( 2 ) } x`
335
339
logger . log ( ` ${ c . green ( number ) } ${ c . gray ( 'faster than' ) } ${ sibling . name } ` )
Original file line number Diff line number Diff line change
1
+ import { bench , describe } from 'vitest'
2
+
3
+ describe ( 'suite-a' , ( ) => {
4
+ bench ( 'good' , async ( ) => {
5
+ await sleep ( 25 )
6
+ } , options )
7
+
8
+ bench ( 'bad' , async ( ) => {
9
+ await sleep ( 50 )
10
+ } , options )
11
+ } )
12
+
13
+ describe ( 'suite-b' , ( ) => {
14
+ bench ( 'good' , async ( ) => {
15
+ await sleep ( 25 )
16
+ } , options )
17
+
18
+ describe ( 'suite-b-nested' , ( ) => {
19
+ bench ( 'good' , async ( ) => {
20
+ await sleep ( 50 )
21
+ } , options )
22
+ } )
23
+ } )
24
+
25
+ const sleep = ( ms : number ) => new Promise ( resolve => setTimeout ( resolve , ms ) ) ;
26
+
27
+ const options = {
28
+ time : 0 ,
29
+ iterations : 3 ,
30
+ warmupIterations : 0 ,
31
+ warmupTime : 0 ,
32
+ }
Original file line number Diff line number Diff line change
1
+ import { defineConfig } from 'vitest/config'
2
+
3
+ export default defineConfig ( { } )
Original file line number Diff line number Diff line change
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports [` summary 1` ] = `
4
+ "
5
+
6
+ good - summary.bench.ts > suite-a
7
+ ?.??x faster than bad
8
+
9
+ good - summary.bench.ts > suite-b
10
+
11
+ good - summary.bench.ts > suite-b > suite-b-nested
12
+
13
+ "
14
+ ` ;
Original file line number Diff line number Diff line change
1
+ import { expect , it } from 'vitest'
2
+ import * as pathe from 'pathe'
3
+ import { runVitest } from '../../test-utils'
4
+
5
+ it ( 'summary' , async ( ) => {
6
+ const root = pathe . join ( import . meta. dirname , '../fixtures/reporter' )
7
+ const result = await runVitest ( { root } , [ 'summary.bench.ts' ] , 'benchmark' )
8
+ expect ( result . stdout ) . not . toContain ( 'NaNx' )
9
+ expect ( result . stdout . split ( 'BENCH Summary' ) [ 1 ] . replaceAll ( / \d / g, '?' ) ) . toMatchSnapshot ( )
10
+ } )
You can’t perform that action at this time.
0 commit comments