Automated testing tools take the manual work we'd be doing each time we want to verify that our feature works as expected, and give us a way to run a command that tests our assertions one by one. This is then shown to us in reports (or live in our editor, as we'll see later on), which gives us the ability to refactor code that isn't working as intended.
By using automated testing tools, we're saving ourselves a vast amount of effort when compared to manual testing.
Unit testing can be defined as a type of testing that only tests one "unit" (the smallest testable part of a feature) at a time. We can then automate this process to continually test our features as the application gets larger. At this point, you may wish to follow Test-Driven Development/Behavior Driven-Development practices.
In the modern JavaScript testing ecosystem, there...