Q1 2021 JavaScript Testing Libraries and Frameworks Report

main picture

2020-04-21 Update: Added Security information from Snyk. Made ThoughtWorks Technology Radar values clickable.

2020-04-20 Update: I've published reports for other categories as well and recommend checking them out: Frontend Frameworks, State Management Libraries, Build Tools and Module Bundlers, Static Sites Generators (JAMStack), and End-to-End Testing Frameworks.

Intro

This is a third report in the series "Q1 2021 State Of JavaScript Libraries and Tools". The previous reports were dedicated to Frontend Frameworks and State Management Libraries. The current report covers unit testing frameworks and libraries and provides insights into how the libraries performed in Q1 2021. Multiple data sources and metrics are used to provide a complete and unbiased picture.

I used Moiva to collect all the interesting data and presented it in a table as well as in charts.

I'm going to prepare a few more similar reports dedicated to other categories - CSS Frameworks, End-to-End Testing Libraries, Node.js frameworks, Build Tools and Bundlers, and Static Site Generators. Hence, stay tuned!

Data Sources

Data for the report came from:

  • NPM - libraries downloads, releases, types, and dependencies.
  • Google - search interest data.
  • GitHub - stars, commits, contributors, license, and age.
  • State of JavaScript Survey - libraries usage amongst developers.
  • ThoughtWorks's Technology Radar data
  • Snyk - security information.

Metrics

  • Stars - the total number of GitHub stars as of April 1, 2021.
  • New Stars - a number of new stars in Q1 2021.
  • New Stars, % - (100 * New Stars) / (Stars - New Stars)
  • NPM Downloads monthly - an average monthly npm downloads number in Q1 2021.
  • NPM Downloads monthly % (incr.) - an increase of the average monthly npm downloads number compared to Q4 2020.
  • Search Interest, % - Google search interest average number compared to other libraries in the 01.10.2020-31.03.2021 period.
  • Developer Usage, % - percentage of developers using a library according to the latest StateOfJS 2020 survey.
  • ThoughtWorks Tech Radar - a "ring" where a library was put. ThoughtWorks distinguishes four rings - "Adopt", "Trial", "Assess", and "Hold". You can learn more about the Radar here.
  • NPM Releases - a number of NPM releases in Q1 2021.
  • Commits - a number of commits in Q1 2021.
  • Contributors - a number of contributors in Q1 2021.
  • Dependencies - a number of NPM packages a library has in its dependencies list.
  • Types - the way typings are provided, either bundled with the package (BUNDLED) or published to the @types organization on npm (SEPARATE).
  • Security - calculated by Snyk a level of security (from A to F) of Npm packages based on the number of vulnerabilities and their severity. A - no vulnerabilities, F - the least secure level.
  • Age
  • License

Awards

  • Jest has 35K stars in total and is a winner in the "Total Amount Of Stars" category.
  • Jest justifies the title of the most popular testing framework and gets the biggest amount of new stars in Q1 2021 - 1.2K stars. React Testing Library follows Jest with 766 new stars.
  • jest-dom' amount of stars increased by 10%. It was the biggest increase among the libraries in this report.
  • Jest is an absolute leader in the "NPM Downloads" category. It has been downloaded a hefty 45M times on average every month. Mocha is second with 21M monthly downloads.
  • Cucumber.js is a leader in terms of NPM downloads growth - 140%. Worth mentioning, that Cucumber.js had the lowest start among other libraries in the report - less than 100k monthly downloads in Q4 2020. That partly explains such impressive growth.
  • Jest got the biggest amount of commits in Q1 2021 - 76.
  • Chai had the biggest number of contributors - 12. Ava and Karma had one contributor less.
  • Karma released the biggest number of NPM versions - 12. DOM Testing Library follows Karma with 10 releases.

Report

Hint: scroll horizontally to see values for all the libraries.

Each library has two links - Moiva and GitHub links. Use Moiva link to see more data about a particular library, to see historical data and trends.

Criteria
Stars
35K
19K
20K
15K
5.5K
3.9K
7.2K
8.5K
11K
2.5K
2.4K
4.2K
19K
14K
New Stars
1.2K
313
351
110
42
22
115
167
108
107
214
103
233
766
New Stars, %
3.5%
1.7%
1.8%
0.7%
0.8%
0.6%
1.6%
2%
1%
4.5%
10%
2.5%
1.2%
5.7%
Monthly
45M
905K
21M
15M
2.6M
806K
17M
14M
8.7M
18M
12M
154K
10M
14M
Monthly % (incr.)
13%
12%
9%
9%
7%
32%
9%
17%
10%
20%
28%
140%
7%
27%
Search Interest, %
30%
-
5%
9%
-
-
-
3%
-
-
-
19%
-
-
Developer Usage, %
68.3%
7.8%
52.7%
42%
-
-
-
-
-
-
-
-
-
26.4%
Tech Radar
-
-
-
-
-
-
-
-
-
-
Releases
0
1
3
2
4
2
5
3
12
10
2
0
0
4
Commits
76
39
31
17
22
26
23
58
41
22
11
58
31
10
Contributors
8
11
7
3
2
5
12
3
11
10
6
9
4
6
Dependencies
3
56
25
0
17
4
6
6
23
8
8
34
22
2
Types
BUNDLED
-
SEPARATE
-
SEPARATE
SEPARATE
SEPARATE
SEPARATE
SEPARATE
BUNDLED
SEPARATE
BUNDLED
SEPARATE
BUNDLED
Security
Age
7 years
6 years
10 years
12 years
8 years
12 years
9 years
11 years
10 years
3 years
3 years
10 years
5 years
3 years
License
MIT
MIT
MIT
MIT
MIT
MIT
MIT
BSD-3-Clause
MIT
MIT
MIT
MIT
MIT
MIT

Popularity: GitHub Stars

a bar chart showing numbers of JavaScript libraries' GitHub stars in total

a bar chart showing numbers of JavaScript libraries' new stars in Q1 2021

a bar chart showing percentage of JavaScript libraries' new stars in Q1 2021 compared to the total value

Popularity: NPM Downloads

a bar chart showing numbers of JavaScript libraries monthly npm downloads in Q1 2021

a bar chart showing percentage of JavaScript libraries monthly npm downloads in Q1 2021 compared to the value in Q4 2020

Development Activity: commits, releases, and contributors

a bar chart showing numbers of JavaScript libraries commits in Q1 2021

a bar chart showing numbers of JavaScript libraries releases in Q1 2021

a bar chart showing numbers of JavaScript libraries contributors in Q1 2021


← all posts

Subscribe to the monthly newsletter