James Bender
Yes, You Need to Unit Test your JavaScript. Here's How.
#1about 7 minutes
Why developers avoid unit testing JavaScript
Common excuses for not unit testing are addressed by framing tests as a long-term investment that prevents project slowdowns.
#2about 5 minutes
Understanding the Test-Driven Development workflow
TDD inverts the traditional development process by using specifications to write automated tests before writing the implementation code.
#3about 7 minutes
The core characteristics of a good unit test
Effective unit tests are isolated from dependencies, targeted to a single scenario, and repeatable regardless of external factors.
#4about 5 minutes
Applying the red-green-refactor TDD cycle
The core TDD loop involves writing a failing test (red), writing minimal code to pass it (green), and then improving the code's design (refactor).
#5about 2 minutes
Choosing a JavaScript testing framework: Jest vs Jasmine
Jest is recommended over Jasmine primarily for its performance benefits, as it runs tests in a multi-threaded environment.
#6about 8 minutes
Writing your first basic unit test with Jest
A live coding demonstration introduces the basic Jest syntax, including the `test`, `expect`, and `toBe` functions for a simple sum operation.
#7about 14 minutes
Live coding a Tic-Tac-Toe game using TDD
This demonstration builds a simple game engine by following the red-green-refactor cycle and using BDD-style tests with `describe` and `it`.
#8about 2 minutes
Practical next steps for adopting unit testing
Actionable advice for teams includes starting with new features, practicing daily, sharing knowledge, and measuring code coverage.
#9about 9 minutes
Audience Q&A on testing strategies
Questions from the audience are answered, covering topics like integration testing in React, handling front-end tests, and involving product teams.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
00:58 MIN
Why developers often view unit testing as a chore
Test-reduction - Doing more with less
11:17 MIN
Writing unit tests for specific accessibility concerns
Accessibility Test Driven Development
26:41 MIN
Summary of key trends in modern JavaScript testing
The 2025 State of JavaScript Testing
00:05 MIN
Identifying the most common pain points in JavaScript testing
The 2025 State of JavaScript Testing
1:28:47 MIN
Recap and practical advice for testing applications
Test Driven Development with JavaScript
01:51 MIN
Reframing common complaints about JavaScript development
How to Stop Choosing JavaScript Frameworks and Start Living
39:23 MIN
Q&A on developer tooling and testing best practices
Data Mining Accessibility
25:43 MIN
Final thoughts on unit testing as a developer's tool
How Unit Testing Saved My Career
Featured Partners
Related Videos
Write tests you love, not hate
Jens Happe
TDD for Vue.js Developers
Markus Oberlehner
The 2025 State of JavaScript Testing
Daniel Afonso
Test Driven Development with JavaScript
Sascha Depold & Parinaz Roghany
How to TDD in legacy code
Gil Zilberfeld
Why you must use TDD now!
Alex Banul
How not to test
Golo Roden
Catching up on the basics you don't really need that much code
Chris Heilmann
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Senior Frontend Developer - Typescript / Svelte - (f/m/x)
doinstruct Software GmbH
Berlin, Germany
Senior
GIT
JavaScript
TypeScript
Frontend Web Developer (JavaScript, React)
Die Socialisten
Vienna, Austria
Senior
Jest
React
Redux
JavaScript



Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Mons, Belgium
Remote
Docker
Node.js
Continuous Integration

Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Namur, Belgium
Remote
Docker
Node.js
Continuous Integration

Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Brussels, Belgium
Remote
Docker
Node.js
Continuous Integration

Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Vienna, Austria
Docker
Node.js
Continuous Integration

Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Liège, Belgium
Remote
Docker
Node.js
Continuous Integration