The 2025 State of JavaScript Testing

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
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 2025, check out the latest edition of this JavaScript Conference.

FAQ

Static analysis involves using tools like TypeScript and ESLint to analyze code for errors before actual execution, providing a foundation for reliable testing.

The testing approach is shifting towards browser-based component testing, using tools like VTest, and integrating static analysis, unit, integration, and end-to-end testing.

AI advancements in testing include tools like Copilot for test generation and Playwright's MCP server for automating and generating tests via AI models.

Mock Service Worker is a standard tool for network request mocking, supporting REST, GraphQL, and WebSocket, and works across various environments including browsers and Node.

The future includes increased adoption of VTest, Playwright, Mock Service Worker, AI in testing, and a return to browser-based component testing.

Testing is as important as the code itself because it provides confidence and assurance that the software functions correctly, ultimately contributing to better sleep for developers.

Commonly used tools include Jest, React Testing Library, Storybook, VTest, Playwright, Cypress, Mocha, Puppeteer, Selenium, and WebDriverIO.

Playwright is popular due to its features like Codegen, tracing, cross-browser, cross-platform, and cross-language support, as well as free parallelism.

Common problems include flaky tests, complex tests, slow tests, lack of ESM and TypeScript support, excessive boilerplate, and difficult-to-maintain testing tools.

Testing is done to improve software resilience, gain confidence in the software, sleep better at night, or comply with directives from management.

Daniel Afonso
Daniel Afonso
24 min
16 Jun, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
The talk delves into JavaScript testing challenges, company testing practices diversity, and the evolution of testing tools. It explores the transition to user-centric testing, browser-based component testing, and advancements in AI testing tools. The evolving landscape includes Playwright's features and comprehensive testing solutions. Future trends discuss network mocking, AI testing advancements, and the role of AI in JavaScript testing practices.

1. Exploring JavaScript Testing Challenges

Short description:

The talk begins by questioning the reasons for testing software and addresses common testing challenges. It highlights the pain points in testing, including mocking, configuration, and performance. The speaker delves into the current satisfaction levels in testing and sets the stage for exploring the state of JavaScript testing in 2025.

Hello, JS Nation. It's a real pleasure to be here to do another talk. And let's not waste time and get right to it, shall we? I would like to open this talk with a question. I would like to invite you to reflect. Why do we test? It can be for many reasons. It can be because you like to sleep better at night. It can be because the tests give you confidence and make your software feel more resilient. It can even be because your boss told you that you have to do it. Why do you do it? This is the opening question I would like you to consider and think for a bit.

Now, I would like to shift gears. I would like you to... If this was in person, I would ask you to raise your hand. I would like you to raise your hand virtually if any of these situations have ever happened to you. If you ever had flaky tests, if you ever had complex tests, if you ever had slow tests, lack of ESM support, lack of TypeScript support, too much boilerplate, mocking being painful, testing tools being hard, or testing tools being hard to maintain. If you ever had one of these problems, then you're very likely in the majority of people. If you haven't had any of these problems, then come talk with me. I really am really interested to see what are you testing and how you're testing.

But when I decided to start doing this talk, I interviewed a couple of people, I did some research, and one great resource for helping me prepare this talk was the state of JavaScript. And in the state of JavaScript, we talked about testing. In there, one of the questions was where is our pain? And interestingly enough, the majority of people feel pain with mocking, with configuration, with performance, with Jest, with ESM, and CommonJS, which is something that we'll talk about in a bit. There's a lot of pain in testing, and this kind of leads us to our happiness levels not being quite there. This is an NPS score, we're about around 2.5 right now, we haven't ever reached a 3, so people are satisfied. It feels like what we have is enough, but it's not perfect, we're not there in the ideal world yet. So let's go for a ride, and let's figure out what happened in the last few years due to the 2025 state of JavaScript testing.

2. Diving into Company Testing Practices

Short description:

Neofons, a senior developer advocate at PagerDuty and part of the SolidJS DX team, explores how companies are testing. Various companies use different testing tools and approaches, such as BDDs, Jest, Cypress, Karma, Jasmine, Enzyme, and more. The diversity in testing practices among companies showcases the evolving landscape of software testing.

So before we continue, my name is Neofons, I'm a senior developer advocate at PagerDuty, I'm part of the SolidJS DX team, I'm an instructor at Egghead.io and I wrote a book called State Management with React Query. Besides this, I write a newsletter every month called This Month in Solid, where you can keep track of what's happening in the world of SolidJS, and I just released a free course on Egghead called Getting Started with Solid Start, if you want to check it out. You can find me online at any handle called DanielGCFons. So let's get back to the talk, shall we?

One of the things that I really, really wanted to know is how companies are testing. And the state of JS gave me some ideas, it told me okay, a lot of people are using JS, a lot of people are using Storybook, some people are using VTest already, Playwright, Cypress, Testing Library, Mocha, Puppeteer, Selenium. But this is raw data, and I actually wanted to think about and ask people, okay, how are you testing? And I would like this to come from people all over different companies, from startups to companies in the Fortune 500 to figure out how they are testing and how their tests look like. So I interviewed 8 people, and let's review what they told me, shall we?

The company one told me that they're using BDDs, Behavior Driven Development Testing, with Playwright. They're using Jest and React Testing Library for unit and integration testing, and they're using Storybook as a component catalog. The second company told me that they're using Jest and React Testing Library for unit integration, Cypress for end-to-end. The third company told me that they're using Karma and Jasmine for integration and component testing. And Jest and React Testing Library for unit. Playwright for visual regressions, Playwright for end-to-end, and Storybook as a component catalog. The fourth company told me that they're using Jest and Enzyme for integration, and WebDriverIO with Cucumber for end-to-end. So do you identify yourself with any of these companies already? Is this something that you are currently experiencing? Think about that for a bit, while we go for the other company.

3. Exploring Company Testing Evolution

Short description:

Exploring case 5 to case 8 of company testing practices, including the use of mock service worker, static analysis with TypeScript and ESLint, and the evolution of unit and integration testing tools like JestDOM and Enzyme.

So when we get to this case 5, and eventually I think it's case 7, things get a bit more interesting. Because the question that I asked the people in these interviews was a very simple one. Could you just tell me what is your testing stack look like, and what type of tests you're writing? How do you test? And I think with case 5, it's where I first heard people mention mock service worker. I've been using mock service worker for years. We'll get to it in this talk. But this is the first company that told me, yeah, we have Jest and React Testing Library for integration, Playwright for end-to-end, but now we're also using mock service worker and a custom mocking tool for mocking our network requests and others. Case 6, Jest and React Testing Library for unit integration. And the case 7 was actually the first person to ever mention static analysis. If we're talking about the testing trophy, which we'll talk about in a bit, static analysis is a great part of it. And in this case 7, they're using TypeScript and ESLint for doing some static analysis. VTest and React Testing Library for unit integration, and Playwright for end-to-end. Finally, for case 8, we have Cypress for end-to-end, Enzyme and React Testing Library for unit integration, and MSW with a custom mocking tool, and a custom mocking tool. So, this is a bit of an overview that goes for 8 different companies in 8 different contexts. And it's a very interesting thing when I was doing this talk, because now, when we have been taught the testing trophy and Kent Cedald has explained this to us, and we have learned this from the past few years, we always thought about these 4 topics, end-to-end, integration, unit, static, even though a couple of them got a bit blurry throughout the years, these have been the testing points that keep us safe. So I thought, okay, let's use these 4 points, the static analysis, the unit integration, and the end-to-end to see how are we doing tests and what's the current standard for using these things.

Let's start with static analysis. Let's start from the bottom and go up from there. Well, to no one's surprise, TypeScript and ESLint are still the standard for doing static analysis. They are more than proven, they're battle-hardened, and I don't see anyone saying that they don't want to use them. If I would have you something to keep in mind and keep under your radar is to check Biome and OXC. There's some interesting developments happening there from a static analysis perspective, and I've actually seen a couple of people migrating out of ESLint to Biome already, and some organizations, so they're here, they're giving a couple of people already some different decisions and different tests, so this is basically my analysis for the static analysis part.

Now, let's spend a bit more time talking about unit and integration testing, because this is the one that I think most of us get excited about, let's say excited. For that, I wanted to do a timeline, because, well, a couple years we were writing tests, a couple years, ten years ago or so, this is where we were. We had a bunch of tests using Karma and we were using Jasmine, and these were all component testing. These tests run in an actual browser, but we had a couple of issues with this. First of all, these tests were not always reliable, they were a bit flaky, the browsers were always crashing, and let's not talk about how the heck we could get this into a CI-CD pipeline. So we made a transition, and this transition meant, okay, now we don't want to run stuff in a browser environment, we want to simulate a browser environment in a node-based environment, so we came out with JestDOM, and on top of JestDOM, we had Jest, and we paired it with Enzyme, as a testing library, to write our tests. And this is where we were around 2017, 2018, but in 2018, I think, that's when something changed, and I would like to call it the backend fallacy and the categorization pain, because this is what happened in 2018. The famous tweet that changed the way we did testing in the frontend, in the JavaScript world. The more your tests resemble the way your software is used, the more confidence they can give you.

4. Navigating Testing Changes in 2019

Short description:

Transition to user-centric testing, adoption of testing library over Enzyme, challenges with Jest configuration, introduction of VTest, and migration to EpiDOM for faster tests.

And this changed the way we did our tests, because now we were focused on a user-centric perspective. And the reason why I call this the backend fallacy is because, well, the majority of us, myself included, we weren't testing from a backend perspective. That's how we did testing for years. And now we were being encouraged to skip the implementation details, and only think about it from a user perspective. Now a unit would be an individual component, and an integration would be components working together. That's the definition that we were going with, and it also became a bit more confusing for a couple of people, because some people now didn't know how they should be testing, or how they should call their tests. But either way, what happened now was that we moved out of Enzyme, and we started using the testing library. And that's where we were in 2019.

Then another problem came, which was we had some issues with our test runners and bundler integration. So, I don't know if you remember these issues that we had with Jest, but, well, I'm just gonna name a couple of them. It was a huge pain to configure, just to make sure that we could get everything working. It was stuck in time. Do you want a reason for it being stuck in time? Just look at TypeScript support and ESM support with Jest, which currently, right now, it's still experimental with the ESM part. Why? Well, I have no idea. So, we needed a test runner that ideally would be aware of its environment, and would work together with its bundler. Instead of us having to configure this stuff ourselves, we wanted to build our tests the same way that we build our application. And this is where VTest showed up.

Now, we also did some changes here. We moved out of JestDOM to EpiDOM, which, in a very short way, it's a stripped-down version of JestDOM, which is made to be more performant, on the downside of losing some features that we had with JestDOM. But it's faster. Our tests were faster. But now, came another issue, which is the JestDOM issue. Artem, the creator of mock-service-worker, wrote this amazing blog post that I really recommend you to check. And I won't go over it, because I only have 20 minutes and I'm at, currently, 12. But I think one of the great things about this post, and one of my favorite quotes, is this one. JestDOM runs in Node.js, pretends to be a browser, but ends up being none. Because, in reality, what we're doing there is, for us to have a browser running in a Node environment, we are just polyfilling browser APIs. We're basically creating these APIs that Node environments don't have in a Node-based environment. So, we are trying to execute browser-like code without having any browser. That's the JestDOM issue.

5. Shifting to Browser-Based Component Testing

Short description:

Artem's influential blog post on testing environments resembling code execution environments, shift towards VTest browser mode for component testing, and the importance of testing code in the browser like production, emphasizing Kent's endorsement.

That's what's been happening. This blog post that Artem has is really, really great. I really recommend you to check it out. But another quote, and I think that's the quote that's going to shape, again, how we're doing tests, in the front-end, is this one. The closer your test environment resembles the actual environment where you run code, the more value your tests will bring you. So, you might see the parallel between the testing library quote, because it's very similar. And it's actually true. Think about it. We run our code in the browser. So, why shouldn't we test our code in the browser? Heck, you might say, in the Karma days, everything was flaky, everything was crashing, but now we have a better experience. And this is why we believe that what's coming next is VTest browser mode.

So, the VTest browser mode is basically what it says. We're doing component testing. We're bringing everything back to the browser. And now you might be thinking, oh, so I have to go ahead and refactor everything again, spend months and months and months doing so. Well, you don't do. This thread that Artem did, it's basically just a matter of swapping two imports. I had a couple of other things, but at the end of the day, it took me 20 minutes to do this for a 50 test suite. Now, I know it might be tricky for you to take this and think, oh, so now you're telling me that I need to move my unit integration tests to the browser. It means that I need to get out of the react testing library or start doing something else. Well, it's not only me and Artem that are telling you. Kent is telling you the same thing.

So, what I say here is if we trusted Kent back then to help us lead the change into how we were doing testing, let's do it again. Let's move stuff back to the browser. Because at the end of the day, and one thing that I've noticed is the tests don't get that slow. It's a one-second difference. And to be honest, I can live with a one-second difference in my tests, considering that everything else will give me the confidence that I'm running them exactly how my users are running their code. So, yeah, that's where we're going. The future is in component testing regarding the unit integration part. So, now let's move another step and talk about end-to-end.

6. Evolving Landscape of Testing Solutions

Short description:

Playwright's increasing adoption and features like Codegen, tracing, cross-browser capabilities, and the shift towards comprehensive testing solutions encompassing visual, component, API, accessibility testing. The evolution of end-to-end solutions expanding beyond traditional boundaries, integrating various testing aspects, and the future direction of testing practices.

Well, to the surprise of no one, I would say, Playwright has been winning this adoption. Webdriver.io and Cypress still have a lot of companies using them. But, well, what can I say? Playwright community and the Playwright team have been doing a fantastic job. And it's not just that. It has features like Codegen and tracing, which are fantastic and save you a bunch of time. It's cross-browser, cross-platform, cross-language. If for some reason you can even write your tests in Python, let's not get there. And you can use it to test mobile web applications as well.

So, and there's a bunch of other things there like parallelism for free, which was something that was paid in another solution in the past. There's a lot of discussions there. But either way, I think regarding end-to-end testing, what I see happening is Playwright keep getting more and more interest. And becoming one of the most adopted solutions by the end of 2025. One curious fact that I noticed while I was preparing this presentation is that end-to-end solutions are becoming more than just end-to-end. And what do I mean by this? Well, it means that they can do visual testing. It means that they can also do component testing. Playwright does component testing as experimental and Webdriver.io as well.

They also allow you to do API testing. And they allow you to do accessibility testing. And it's not just end-to-end solutions. Storybook, the typically known thing as the component catalog, also allows you to do this. So, I see end-to-end solutions are trying to get into this developer space of trying to also capture a part of, okay, how do we test other stuff aside from end-to-end? Let's try to bring some of these things into our own solution. At the end of the day, it's going to depend on each company what they want to do. But I think that this might be where we're going and what's happening in the next couple of years. We have the static analysis. We have the unit tests. We now get to migrate these integrations to component tests because component tests is a form of integration either way. And we have the orient-to-end for the full flow. Between these slices, we have visual and accessibility. But this, friends, is where I believe testing is going and what's coming up next year.

7. Future Trends in Testing Technologies

Short description:

Discussing the future of testing, network mocking with mock service worker, and advancements in AI testing tools like Copilot and autoplaywrite for creating Playwrite tests using natural language.

But this, friends, is where I believe testing is going and what's coming up next year. Now, with the rest two minutes that I have, let's go through ten slides.

Mocking. This is a very interesting one because I think to the known surprise, mock service worker is the standard for network mocking. I don't think there's anything better. It supports REST, supports GraphQL, it supports WebSocket. It works for browser, Node, React Native. It has even a great ecosystem with stuff like MSW AutoMock, which is a CLI tool that allows you to generate mock data from an open API definition for MSW.

And one of the really interesting things that I've heard Artem mention recently in an interview that he did is they're working on cross-process interception. What does cross-process interception mean? It means that it will allow developers to control network requests across different process boundaries. So what does this mean? It means that it will allow you to mock stuff for server components. You will finally be able to figure out how to test these things in a lower level than just end-to-end. That's really, really exciting. And I can't wait to see what mock service worker keeps doing and what Artem keeps bringing for this. This is such a perfect library. I love it so much. And, yeah, let's go into the mandatory AI part.

So for AI, to no one's surprise, Copilot has been helping us speed up tests. It's really great. It saves us a bunch of time. It's a very good pair programming buddy. Just make sure that you check its sources sometimes because there have been plenty of times that it's been trying to use some outdated information. But, well, it's perfect. It's great. Other stuff that we're also seeing. So there's this thing called autoplaywrite which allows you to basically use natural language to write playwrite tests. So you just say do this, do that, do that. And there's some tools that do the same things like MeetScene, CodeSept. There's just one consideration that you should have when you're writing this type of test. It's AI-based tests are still slower.

8. Advancements in AI Testing

Short description:

Discussing the future of AI testing, self-healing tests, playwrite's MCP server, automation, and diversity in testing approaches.

Remember, this language still needs to be processed. It still needs to go to your model. It still needs to figure out. So there's still some slowness associated with AI-generated tests. But I feel like the AI in testing is going to keep getting better and better and better. And who knows? Eventually we might get to this self-healing reality where our tests are able to repair themselves. This is speculation, obviously. But it's exciting to see that this is on the horizon.

And I've heard people talk about that. And finally, to wrap up the AI part, playwrite just announced their MCP server. This is really, really, really cool. It allows you to connect with your model and use playwrite from there. And this allows you to automate tasks. But most importantly, allows you to generate tests automatically. You can tell your model, hey, go to this page. Figure out some test scenarios and then use the steps that you did to interact with the page to generate tests. That's pretty cool, I would say.

So I feel like this migration might change a bit. I still feel like we're going to keep getting on Jest for a long time due to the scenario of legacy code and what people have been doing and not. But I'm optimistic that we're going to see more VTests increase in the next couple of years. Playwrite is going to keep increasing. MSW is going to keep increasing. And there's some other stuff that we haven't talked in this talk. Like no test runner. But it's going to be an interesting year for testing. And I'm really excited to see what the state of Jest survey shows us next year. So to wrap up, some final considerations. Everyone will keep doing their own things and having different ways to test. I think that should be obvious. Everyone tests differently.

9. Evolving Practices in JavaScript Testing

Short description:

Discussing TypeScript and static analysis, VTest's impact on test runners, importance of tests in code development, and the future role of AI in testing.

Everyone has their own opinion. We should be okay with that. Every company does it differently. Regarding static analysis, TypeScript and TS and the SLint are the best way to do it. Bioman and OXC are on the horizon. But so far they're not going to give them a run for their money immediately.

VTest brought the shift in test runners that we were long expecting. We now have test runners that are aware of the bundler and do the same thing together. Component testing is so back. And we're shifting this again back to the browser. Hopefully with a better experience and even working with CICD.

MSW is a de facto for network mocking. End-to-end solutions are pushing into a testing tool suite. And AI won't fix your knowledge gap. But it might make you more productive. And eventually might lead us to self-healing. But at the cost of speed. Finally, my last statement for you. We should stop considering tests second-class citizens. Tests give us the confidence they are as important as the code that we write. I've heard many arguments on why we shouldn't do tests. Or why even we should bother. Well, I like sleeping better at night. And I think that testing gives me this confidence. And it should do the same for you. So, please start giving the same importance to your tests that you give to your code. So with that everyone, thank you so much. This was the 2025 stage of JavaScript testing. I'm Daniel Alfonso, and I'll see you around. Bye.

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.