The asynchronous nature of JavaScript has made testing a challenge for many application developers. However, the basic principles of why you should test software remain the same. Testing your code helps prevent unintended mistakes stemming from changes you introduce to your code. By providing test coverage to your application, it is much easier to feel confident that changes in features or functionalities won't result in undermining the existing applications' behavior.
As with most applications, testing for a MEAN stack web application can generally be thought of as a pyramid of three different levels of test abstraction: Unit tests, Integration tests, and E2E tests:
While there are many schools of thought when it comes to testing strategy, we will stick to some of the most common types of testing you may want to do in a MEAN stack web application. We&apos...