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.
Featured Partners
Related Videos
How to TDD in legacy code
Gil Zilberfeld
Test Driven Development with JavaScript
Sascha Depold & Parinaz Roghany
Catching up on the basics you don't really need that much code
Chris Heilmann
10 must-know design patterns for JS Devs
Erick Wendel
How to Stop Choosing JavaScript Frameworks and Start Living
Sasha Shynkevich
The Eventloop in JavaScript - How does it work?
Christian Woerz
Watch Tests Go Brrrr! : Getting Started with Cypress in ReactJS
Anna McDougall
Vuejs and TypeScript- Working Together like Peanut Butter and Jelly
Rob Richardson
From learning to earning
Jobs that call for the skills explored in this talk.
Passionate Javascript developer
Edjuster
Municipality of Madrid, Spain
Remote
React
Node.js
JavaScript
Extreme Programming (XP)
Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Canton of Montpellier-3, France
Remote
REST
Docker
Node.js
JavaScript
+1
Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Paris, France
Remote
REST
Docker
Node.js
JavaScript
+1
Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Canton of Bordeaux-2, France
Remote
REST
Docker
Node.js
JavaScript
+1
Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Quedlinburg, Germany
Remote
REST
Docker
Node.js
JavaScript
+1
Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Schwerin, Germany
Remote
REST
Docker
Node.js
JavaScript
+1
Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Greifswald, Germany
Remote
REST
Docker
Node.js
JavaScript
+1
Node.js/Playwright Engineer - Testdriver Development
TechBiz Global GmbH
Rostock, Germany
Remote
REST
Docker
Node.js
JavaScript
+1


