Marco Ippolito
Exploring Node.js�test runner
© Copyright 2023 NearForm Ltd. All Rights Reserved.
Marco Ippolito
@satanacchio
Senior Developer Experience Engineer @NearForm
Core contributor @Node.js
Open Source Enthusiast
2
@satanacchio
What’s a test runner?
3
@satanacchio
A test runner is a tool used to run or execute tests and export results
4
@satanacchio
It selects the source code directories and picks the test files to run
5
@satanacchio
A few examples…
6
@satanacchio
A few examples…
7
@satanacchio
A few examples…
8
@satanacchio
A few examples…
9
So cypress is a test runner right?
@satanacchio
10
@satanacchio
11
@satanacchio
Classification
12
@satanacchio
Test runners always include testing framework
13
@satanacchio
Classification
14
@satanacchio
Classification
15
What about ?
@satanacchio
16
@satanacchio
17
@satanacchio
18
@satanacchio
19
@satanacchio
20
@satanacchio
21
@satanacchio
22
@satanacchio
23
@satanacchio
24
@satanacchio
25
@satanacchio
26
@satanacchio
27
Why are there so many test runners?
@satanacchio
28
@satanacchio
Node.js follows the “minimal core” principle, it delegates everything non essential to the ecosystem
29
@satanacchio
30
Improving developer experience and reducing surface for NPM supply chain attacks
@satanacchio
31
@satanacchio
Node.js was shipping only an assertion library.
32
@satanacchio
Node.js was shipping only an assertion library. It needed a native test runner
33
@satanacchio
Node.js was shipping only an assertion library. It needed a native test runner, and a testing framework
34
@satanacchio
35
@satanacchio
The test runner is stable and production ready�with Node 20
36
We finally
made it!
@satanacchio
37
@satanacchio
The test runner was inspired by node-tap
38
@satanacchio
39
@satanacchio
Some features!
40
@satanacchio
Some features!
41
@satanacchio
Some features!
42
@satanacchio
Some features!
43
@satanacchio
Some features!
44
@satanacchio
Some features!
45
“Talk is cheap, show me the code!” - Linus Torvalds
@satanacchio
46
@satanacchio
47
@satanacchio
48
@satanacchio
49
@satanacchio
50
@satanacchio
51
@satanacchio
52
@satanacchio
53
@satanacchio
54
@satanacchio
55
@satanacchio
56
@satanacchio
57
@satanacchio
58
@satanacchio
59
@satanacchio
60
@satanacchio
61
@satanacchio
62
@satanacchio
63
@satanacchio
64
@satanacchio
65
@satanacchio
66
@satanacchio
67
@satanacchio
68
@satanacchio
69
@satanacchio
70
@satanacchio
71
@satanacchio
72
Should I migrate my existing test suite tomorrow?
@satanacchio
73
@satanacchio
74
@satanacchio
Cons
75
@satanacchio
Cons
76
@satanacchio
Cons
77
@satanacchio
Desired features
78
@satanacchio
Desired features
79
@satanacchio
Desired features
80
@satanacchio
The test runner is evolving fast!
81
@satanacchio
Desired features
82
@satanacchio
83
@satanacchio
Desired features
84
United States:
International:
United Kingdom:
Ireland:
(916) 299-6882
+353 51 330 290
0870 067 95569
051 330 290
Thanks for listening!!!