Skip to content

Commit 8398f9f

Browse files
MoLowdanielleadams
authored andcommitted
test_runner: default to spec reporter when on TTY environment
PR-URL: #46969 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
1 parent 16db3ad commit 8398f9f

File tree

4 files changed

+36
-3
lines changed

4 files changed

+36
-3
lines changed

doc/api/test.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -518,8 +518,7 @@ flags for the test runner to use a specific reporter.
518518
The following built-reporters are supported:
519519

520520
* `tap`
521-
The `tap` reporter is the default reporter used by the test runner. It outputs
522-
the test results in the [TAP][] format.
521+
The `tap` reporter outputs the test results in the [TAP][] format.
523522

524523
* `spec`
525524
The `spec` reporter outputs the test results in a human-readable format.
@@ -529,6 +528,9 @@ The following built-reporters are supported:
529528
where each passing test is represented by a `.`,
530529
and each failing test is represented by a `X`.
531530

531+
When `stdout` is a [TTY][], the `spec` reporter is used by default.
532+
Otherwise, the `tap` reporter is used by default.
533+
532534
### Custom reporters
533535

534536
[`--test-reporter`][] can be used to specify a path to custom reporter.
@@ -1688,6 +1690,7 @@ added: v18.7.0
16881690
aborted.
16891691

16901692
[TAP]: https://testanything.org/
1693+
[TTY]: tty.md
16911694
[`--experimental-test-coverage`]: cli.md#--experimental-test-coverage
16921695
[`--test-name-pattern`]: cli.md#--test-name-pattern
16931696
[`--test-only`]: cli.md#--test-only

lib/internal/test_runner/utils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ const kBuiltinReporters = new SafeMap([
9999
['tap', 'internal/test_runner/reporter/tap'],
100100
]);
101101

102-
const kDefaultReporter = 'tap';
102+
const kDefaultReporter = process.stdout.isTTY ? 'spec' : 'tap';
103103
const kDefaultDestination = 'stdout';
104104

105105
function tryBuiltinReporter(name) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
process.env.FORCE_COLOR = '1';
3+
delete process.env.NODE_DISABLE_COLORS;
4+
delete process.env.NO_COLOR;
5+
6+
require('../common');
7+
const test = require('node:test');
8+
9+
test('should pass', () => {});
10+
test('should fail', () => { throw new Error('fail'); });
11+
test('should skip', { skip: true }, () => {});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[32m* should pass [90m(*ms)[39m[39m
2+
[31m* should fail [90m(*ms)[39m
3+
Error: fail
4+
at * [90m(*)[39m
5+
[90m at *[39m
6+
[90m at *[39m
7+
[90m at *[39m
8+
[90m at *[39m
9+
[90m at *[39m
10+
[90m at *[39m
11+
**
12+
[90m* should skip [90m(*ms)[39m # SKIP[39m
13+
[34m* tests 3[39m
14+
[34m* pass 1[39m
15+
[34m* fail 1[39m
16+
[34m* cancelled 0[39m
17+
[34m* skipped 1[39m
18+
[34m* todo 0[39m
19+
[34m* duration_ms *[39m

0 commit comments

Comments
 (0)