Your tests can pass while your app looks broken. Visual regression testing catches the UI bugs that unit, integration and E2E tests miss - and here is how to set it up with Percy, Chromatic or Vitest Browser Mode
Think you know your way around a test suite? These React testing interview questions cover act(), debounced inputs, mocking pitfalls, IntersectionObserver, and more. They can be harder than they look.
AI is very powerful, but it can introduce lots of subtle code smells when it generates code for your frontend applications. Here are the main ones to look out for.
Here are some tools and libraries that are really useful for your frontend app. You should at least be aware of them so when you need them, you know what tool to look for.
No major refactoring required or complex migration. Just three tool swaps that massively cut my run time for lint/formatting/type checking. Includes setup instructions and when to avoid these tools
Jest has served the JS community for years, but as of 2026 I strongly believe you should be only considering using Vitest going forward. Here are my reasons why!
Handling different configuration files for different tests in Vitest can be a pain to manage - but luckily you can use projects very easily. In this blog post I will cover how to set them up.
My tips and tricks on how to write good frontend tests. In this blog post I cover general tips and advice on how to write nicer and easier to maintain tests.
This is a full introduction guide to what you need to know about Vitest Browser Mode, from what it is, how to install and configure it, and writing your first tests
As well as testing the core functionality of your code with regular tests, you can use automated tools to test that your app or website has good accessibility. In this post, I will explain how and what tools you can use, and why manual testing is still essential...
React RSC components have been out for a few years, but testing them in Vitest or Jest is still difficult. In this blog post I go over some approaches, workarounds and hacky fixes so you can test the async behaviour (and Suspense)
Did you know you can use Vitest to easily make assertions on your TypeScript types? In this page I will go over how you can easily start using this cool feature
Cheatsheet for common Jest testing tasks. Includes basic test structure, common matchers, handling async code, testing errors, and more. Hopefully you can find what you need here to copy and paste into your test code.