Jasmine (behavior-driven development (BDD) framework for writing unit tests,
functions like describe, it,)
Karma (test runner, to run unit tests,
launches browsers (or browser-like environments))
designed to execute tests in various browsers simultaneously.
Protractor : end-to-end (E2E) testing framework, simulate user interactions
and test your application's functionality in a real browser
In a continuous integration environment, Karma can be configured to run tests
automatically whenever changes are pushed to the repository, ensuring that the
codebase remains stable and functional across different browsers.
TestBed : part of the @angular/core/testing module
Cypress: Although primarily an E2E testing tool, Cypress can also be used for
certain types of integration and end-to-end testing in Angular applications.