FAQ

What is this site? This site (HowToTestFrontend.com) is here to be the #1 resource on how to test your frontend applications. For now with a focus on React.

Discounts? No discount codes right now. It is priced very low as the site is new (lock in a lower price now, and it will stay at that price while you are a member)

Is this React only? Yes. Most of the content is assuming you are testing a React application, using the React Testing Library (which is the one every React project I've seen in the last few years uses). If you are interested in a Vue course on testing please reach out, if there is interest I'll add one

Does it matter what version of React? No, any recent React application from the last 5 years will be compatible.

JavaScript or TypeScript? currently all the content on this site is in JavaScript as it makes the example code smaller and is easy to translate to a TypeScript application.
If the typings are important, then I'll add a comment explaining how to type things in TypeScript.

What kinds of tests do the courses cover? We start with basics of testing with Jest and Vitest (just so you know how to write basic tests). These are all free, by the way. The frontend specific ones (which are all for React) use React Testing Library. There are no E2E (Playwright/Cypress/etc) tests on this site.

Who is behind this site? I am a software engineer. I love testing and want to share my enthusiasm for testing with others. All written content on this site is personally written by me - no AI generated material here. (I do use an AI powered pull request review tool, but that just catches typos in the text :) )

I use Jest or I use Vitest Almost all of the syntax taught in this site is compatible for both Vitest and Jest.

Test runner limitations? The test runner on this site is there to make it easy to read a lesson, see some example code and run it in your browser. However, due to some browser limitations it cannot mock the system time or handle 'real' mock module imports. Hopefully this doesn't stop you from learning what the lesson is trying to teach! Give it a try in the free lessons to see how it works.

RSC support? Coming soon. For now I am focusing just on Frontend testing in React. But I'll cover RSC testing very soon (currently work-in-progress).

Using the code editor without a mouse Accessibility is very important. Please see the accessibility page for info

Something isn't clear - Reach out with a question, I'll reply & probably will update the lesson which is not clear!

Lesson suggestion - Have a suggestion for something that I've not covered? Reach out, I will try to add it!

I've spotted something that doesn't follow the typical rules of React Most of the example code is very simplified. For example when showing async tests, I might have a `useEffect()` that calls `window.fetch`. In a real app we would want timeouts, error handling, `useEffect` cleanup methods etc.

I've spotted an error Please get in touch! I'll fix!

Data removal If you would like your personal data removed from the site, please get in touch.

How to get in touch? Email me via the contact page. I'll reply as soon as I can

Why join? You get access to all of the courses. The free courses are just the basics.

Can I cancel? You can cancel any time you want. As long as you cancel before it rebills for the following period. Once you login, go to account settings and cancel from there. Tip: You can join monthly, then cancel immediately. You will have access for the remainder of that monthly period - it will not rebill if you cancel.

Pricing & tax Final price per month is the price plus any local taxes for your location. This is shown on the checkout page.

How will it appear on my bank statement? We use Polar.sh to handle our payments, and charges normally appear as POLAR*HOWTOTESTFRONTE or POLAR*HOWTOTESTFRONTEND, but this may vary by card issuer or region.

Refunds? If you are not 100% happy just reach out and i can do a no fuss refund instantly. :)

Team discounts: Please get in touch.

Affiliates: No affiliate program right now, but please get in touch if this is something you would like to discuss.