The 2025 State of JavaScript Testing

Bookmark
Rate this content

Have we been stuck in the same testing pain loops for years? Even though it might seem like it, we haven't!

Even if AI is now writing our tests, many JavaScript developers have faced numerous challenges, from the unclarity of test classifications to the struggle of mocking, long-running integration tests, and shifting everything to E2E tests.

Let's recap everything that has happened in the past years and look into the present to explore what 2025 will bring for testing in the JavaScript world around test runners, testing libraries, mocking, production practices, and AI-based tools.

This talk has been presented at JSNation US 2025, check out the latest edition of this JavaScript Conference.

FAQ

Testing is important because it provides confidence in the code, helps prevent bugs, and ensures that the business logic and value of the code are maintained. It is as crucial as writing the actual code.

Common challenges include issues with mocking, configuration, performance, CSS flakiness, and browser testing. These challenges can lead to dissatisfaction with testing processes.

Commonly used tools include Jest, React Testing Library, Playwright, Cypress, VTest, and Storybook. These tools are used for various types of testing such as unit, integration, end-to-end, and component testing.

The approach has evolved from using tools like Karma and Jasmine to more modern tools like Jest and VTest. There is a trend towards using tools that integrate better with modern bundlers and support browser-based testing.

Static analysis tools like TypeScript and ESLint are used to catch errors early in the development process by analyzing the code without executing it, ensuring code quality and consistency.

VTest is a modern test runner that integrates with modern bundlers and supports browser mode, offering faster and more reliable testing environments compared to older tools like Jest.

End-to-end testing is becoming more integrated with tools offering comprehensive testing suites that include visual, accessibility, API, and component testing. Playwright is gaining popularity due to its strong community support.

AI tools like Copilot can enhance productivity by assisting in code generation and testing, but they should complement rather than replace a developer's knowledge. AI-driven tools are also exploring self-healing tests.

MSW is a tool for API mocking in JavaScript. It is popular because it provides a standard way to mock GraphQL, WebSocket, and HTTP requests, making testing more efficient.

Tests ensure the reliability and functionality of the software, verifying that it meets the intended requirements and behaves correctly. They should be as prioritized as the development of the software itself.

Daniel Afonso
Daniel Afonso
27 min
20 Nov, 2025

Comments

Sign in or register to post your comment.
  • Joe Coutcher
    Joe Coutcher
    GSTV
    With the new browser-based testing in Vitest, does it work within a build pipeline (i.e. Jenkins, Bitbucket pipelines, etc)?
Video Summary and Transcription
Speaker reflects on the importance of testing, shares insights from the state of JS survey, and discusses future plans for JavaScript testing in 2025. Companies are exploring testing tools and methodologies based on surveys and personal data. Evolution of testing practices from browser to node-based environment with VTest adoption. Advancements in testing technology include VTest's role, Playwright for end-to-end testing, and comprehensive testing solutions. Progress in self-healing tests, AI integration, and tool resurgence like Storybook and MSW for API mocking. Diverse opinions on testing in 2025, with a focus on static analysis, VTest, and end-to-end testing resurgence to browser.

1. Reflecting on Testing and Future Plans

Short description:

Speaker reflects on the importance of testing, shares insights from the state of JS survey, and discusses future plans for JavaScript testing in 2025.

Hello, JS Nation. I hope you're all having an amazing conference so far. It's a huge pleasure to be here again with you. And I invite you to think about something. I'd like to invite you to think about why do you test? And this can be because it gives you the confidence that you need in the code that you're writing. Can be because it lets you sleep better at night. Can be because your boss told you so. Well, you might not even be testing. Are you?

This is a reflection that I would like to keep in mind while this talk is going through because by the end, hopefully, you'll have us coping on what's been happening in these years and where are we going in our testing years. So I would like to think of if you ever had any of the issues that you're seeing on this slide happening to you. Because well, I think I've been through the most of them. And it's painful. And when I started thinking about this talk, I thought, okay, maybe let's get some data that can back up that these issues are happening to other people. And well, the best place to get that is in the state of JS survey, which is actually open right now as I'm recording this talk. So go fill it.

But yeah, this state of JS tells us that there's a lot of pain in mocking, configuration, performance, CSS, CSS, Flakiness, browser testing issues. So these are all things that we go in through this talk. But this pain actually leads us to something. It leads us to that we are not as happy as we could be when we're talking about testing. Right now we are at 2.5 out of 4, which is not amazing. I love testing. It's like, oh, yeah, I'll do it. It's testing. So I decided to pick up on this data and start doing the state of JavaScript testing for 2025.

Just introduce myself. My name is Daniel Afons. I am a senior developer advocate at PagerDuty. I'm part of the soljs.dx team. I'm an instructor at Egg.io. I'm the author of the book called State Management with React Query.

2. Companies Testing Tools in 2025

Short description:

Speaker discusses companies' testing tools and methodologies based on the state of JS survey and personal data collection from friends.

And if you'd like to connect with me, I'm pretty much anywhere online at danieljcafons. Besides all these things, I also maintain a newsletter called This Month in SOLID. If you'd like to be updated on what's happening, this month in SOLID.js. So you can scan this QR code that you're seeing here to get a bit more of this information. So how are companies testing in 2025? It was one of the questions that I asked myself. And once again, I looked into the state of JS, which told me that well, the majority of companies are using JS. Their storybook, V-Test, Playwright, Cypress. So it gives me all of this data. But it still didn't teach me something. It still didn't tell me how are actually the companies using these tools. It gives me the tools that companies are using, but not how they're being used. So I said, okay, I need more data. So what I basically, in the beginning of the year, I sent the same message to a couple of my friends, which said, hey, could you tell me how your company is testing basically. And I left it open just to see what they will tell me. And I asked this question to eight people. And here is the data that I gathered.

So for the case 1, they're doing BDD with Playwright, using JS and the React testing library for unit and integration testing, and storybook as a component catalog. Company 2 said that they're using JS and the React testing library for unit slash integration testing, and Cypress for end-to-end. Case 3, they're using Karma and Jasmine for integration slash component testing, and JS and React testing library for unit testing, Playwright for visual regression tests, Playwright for end-to-end, and storybook as a component catalog. Case 4 is using Jest and Enzyme for integration, and WebDriver I.O. and Cucumber for end-to-end. So this gives us some patterns already. We're seeing Jest and React testing library showing up for unit integration in a bit. Let's see the other four cases that we got. Because I think it becomes better here from data-wise, I would say. Case 5, Jest and React testing library for unit integration, Playwright for end-to-end, and MockServiceWorker slash custom mocking tool for mocking their API requests. And this made me very happy, because this was the first person that mentioned MSW, and I love MSW. Case 6 is using Jest and React testing library for unit integration. Case 7 surprised me, because this was the first person that mentioned TypeScript and ESLint. So this is actually the first person that mentioned static analysis as being a part of their testing suite.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Network Requests with Cypress
TestJS Summit 2021TestJS Summit 2021
33 min
Network Requests with Cypress
Top Content
Cecilia Martinez, a technical account manager at Cypress, discusses network requests in Cypress and demonstrates commands like cydot request and SCI.INTERCEPT. She also explains dynamic matching and aliasing, network stubbing, and the pros and cons of using real server responses versus stubbing. The talk covers logging request responses, testing front-end and backend API, handling list length and DOM traversal, lazy loading, and provides resources for beginners to learn Cypress.
Testing Pyramid Makes Little Sense, What We Can Use Instead
TestJS Summit 2021TestJS Summit 2021
38 min
Testing Pyramid Makes Little Sense, What We Can Use Instead
Top Content
Featured Video
Gleb Bahmutov
Roman Sandler
2 authors
The testing pyramid - the canonical shape of tests that defined what types of tests we need to write to make sure the app works - is ... obsolete. In this presentation, Roman Sandler and Gleb Bahmutov argue what the testing shape works better for today's web applications.
Full-Circle Testing With Cypress
TestJS Summit 2022TestJS Summit 2022
27 min
Full-Circle Testing With Cypress
Top Content
Cypress is a powerful tool for end-to-end testing and API testing. It provides instant feedback on test errors and allows tests to be run inside the browser. Cypress enables testing at both the application and network layers, making it easier to reach different edge cases. With features like AppActions and component testing, Cypress allows for comprehensive testing of individual components and the entire application. Join the workshops to learn more about full circle testing with Cypress.
Test Effective Development
TestJS Summit 2021TestJS Summit 2021
31 min
Test Effective Development
Top Content
This Talk introduces Test Effective Development, a new approach to testing that aims to make companies more cost-effective. The speaker shares their personal journey of improving code quality and reducing bugs through smarter testing strategies. They discuss the importance of finding a balance between testing confidence and efficiency and introduce the concepts of isolated and integrated testing. The speaker also suggests different testing strategies based on the size of the application and emphasizes the need to choose cost-effective testing approaches based on the specific project requirements.
Playwright Test Runner
TestJS Summit 2021TestJS Summit 2021
25 min
Playwright Test Runner
Top Content
The Playwright Test Runner is a cross-browser web testing framework that allows you to write tests using just a few lines of code. It supports features like parallel test execution, device emulation, and different reporters for customized output. Code-Gen is a new feature that generates code to interact with web pages. Playwright Tracing provides a powerful tool for debugging and analyzing test actions, with the ability to explore trace files using TraceViewer. Overall, Playwright Test offers installation, test authoring, debugging, and post-mortem debugging capabilities.
Everyone Can Easily Write Tests
TestJS Summit 2023TestJS Summit 2023
21 min
Everyone Can Easily Write Tests
Playwright is a reliable end-to-end testing tool for modern web apps that provides one API, full isolation, fast execution, and supports multiple languages. It offers features like auto-weighting, retrying assertions, seamless testing of iframes and shadow DOM, test isolation, parallelism, and scalability. Playwright provides tools like VS Code extension, UiMode, and Trace Viewer for writing, debugging, and running tests. Effective tests prioritize user-facing attributes, use playwright locators and assertions, and avoid testing third-party dependencies. Playwright simplifies testing by generating tests, providing code generation and UI mode, and allows for easy running and debugging of tests. It helps in fixing failed tests and analyzing DOM changes, fixing locator mismatches, and scaling tests. Playwright is open source, free, and continuously growing.

Workshops on related topic

Designing Effective Tests With React Testing Library
React Summit 2023React Summit 2023
151 min
Designing Effective Tests With React Testing Library
Top Content
Featured Workshop
Josh Justice
Josh Justice
React Testing Library is a great framework for React component tests because there are a lot of questions it answers for you, so you don’t need to worry about those questions. But that doesn’t mean testing is easy. There are still a lot of questions you have to figure out for yourself: How many component tests should you write vs end-to-end tests or lower-level unit tests? How can you test a certain line of code that is tricky to test? And what in the world are you supposed to do about that persistent act() warning?
In this three-hour workshop we’ll introduce React Testing Library along with a mental model for how to think about designing your component tests. This mental model will help you see how to test each bit of logic, whether or not to mock dependencies, and will help improve the design of your components. You’ll walk away with the tools, techniques, and principles you need to implement low-cost, high-value component tests.
Table of contents- The different kinds of React application tests, and where component tests fit in- A mental model for thinking about the inputs and outputs of the components you test- Options for selecting DOM elements to verify and interact with them- The value of mocks and why they shouldn’t be avoided- The challenges with asynchrony in RTL tests and how to handle them
Prerequisites- Familiarity with building applications with React- Basic experience writing automated tests with Jest or another unit testing framework- You do not need any experience with React Testing Library- Machine setup: Node LTS, Yarn
Detox 101: How to write stable end-to-end tests for your React Native application
React Summit 2022React Summit 2022
117 min
Detox 101: How to write stable end-to-end tests for your React Native application
Top Content
Workshop
Yevheniia Hlovatska
Yevheniia Hlovatska
Compared to unit testing, end-to-end testing aims to interact with your application just like a real user. And as we all know it can be pretty challenging. Especially when we talk about Mobile applications.
Tests rely on many conditions and are considered to be slow and flaky. On the other hand - end-to-end tests can give the greatest confidence that your app is working. And if done right - can become an amazing tool for boosting developer velocity.
Detox is a gray-box end-to-end testing framework for mobile apps. Developed by Wix to solve the problem of slowness and flakiness and used by React Native itself as its E2E testing tool.
Join me on this workshop to learn how to make your mobile end-to-end tests with Detox rock.
Prerequisites- iOS/Android: MacOS Catalina or newer- Android only: Linux- Install before the workshop
API Testing with Postman Workshop
TestJS Summit 2023TestJS Summit 2023
48 min
API Testing with Postman Workshop
Top Content
WorkshopFree
Pooja Mistry
Pooja Mistry
In the ever-evolving landscape of software development, ensuring the reliability and functionality of APIs has become paramount. "API Testing with Postman" is a comprehensive workshop designed to equip participants with the knowledge and skills needed to excel in API testing using Postman, a powerful tool widely adopted by professionals in the field. This workshop delves into the fundamentals of API testing, progresses to advanced testing techniques, and explores automation, performance testing, and multi-protocol support, providing attendees with a holistic understanding of API testing with Postman.
1. Welcome to Postman- Explaining the Postman User Interface (UI)2. Workspace and Collections Collaboration- Understanding Workspaces and their role in collaboration- Exploring the concept of Collections for organizing and executing API requests3. Introduction to API Testing- Covering the basics of API testing and its significance4. Variable Management- Managing environment, global, and collection variables- Utilizing scripting snippets for dynamic data5. Building Testing Workflows- Creating effective testing workflows for comprehensive testing- Utilizing the Collection Runner for test execution- Introduction to Postbot for automated testing6. Advanced Testing- Contract Testing for ensuring API contracts- Using Mock Servers for effective testing- Maximizing productivity with Collection/Workspace templates- Integration Testing and Regression Testing strategies7. Automation with Postman- Leveraging the Postman CLI for automation- Scheduled Runs for regular testing- Integrating Postman into CI/CD pipelines8. Performance Testing- Demonstrating performance testing capabilities (showing the desktop client)- Synchronizing tests with VS Code for streamlined development9. Exploring Advanced Features - Working with Multiple Protocols: GraphQL, gRPC, and more
Join us for this workshop to unlock the full potential of Postman for API testing, streamline your testing processes, and enhance the quality and reliability of your software. Whether you're a beginner or an experienced tester, this workshop will equip you with the skills needed to excel in API testing with Postman.
Monitoring 101 for React Developers
React Summit US 2023React Summit US 2023
107 min
Monitoring 101 for React Developers
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
If finding errors in your frontend project is like searching for a needle in a code haystack, then Sentry error monitoring can be your metal detector. Learn the basics of error monitoring with Sentry. Whether you are running a React, Angular, Vue, or just “vanilla” JavaScript, see how Sentry can help you find the who, what, when and where behind errors in your frontend project. 
Workshop level: Intermediate
Testing Web Applications Using Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
Top Content
Workshop
Gleb Bahmutov
Gleb Bahmutov
This workshop will teach you the basics of writing useful end-to-end tests using Cypress Test Runner.
We will cover writing tests, covering every application feature, structuring tests, intercepting network requests, and setting up the backend data.
Anyone who knows JavaScript programming language and has NPM installed would be able to follow along.
Best Practices for Writing and Debugging Cypress Tests
TestJS Summit 2023TestJS Summit 2023
148 min
Best Practices for Writing and Debugging Cypress Tests
Top Content
Workshop
Filip Hric
Filip Hric
You probably know the story. You’ve created a couple of tests, and since you are using Cypress, you’ve done this pretty quickly. Seems like nothing is stopping you, but then – failed test. It wasn’t the app, wasn’t an error, the test was… flaky? Well yes. Test design is important no matter what tool you will use, Cypress included. The good news is that Cypress has a couple of tools behind its belt that can help you out. Join me on my workshop, where I’ll guide you away from the valley of anti-patterns into the fields of evergreen, stable tests. We’ll talk about common mistakes when writing your test as well as debug and unveil underlying problems. All with the goal of avoiding flakiness, and designing stable test.