The standard way to test components is to use Karma and Jasmin. They are already preinstalled in every Angular project. You get them by the Angular CLI. Angular also provides a TestBed for testing components and services.
But there are also others frameworks you can use: If you want to write integration tests instead of frontend tests you should use e2e with Protractor. Another solution for integration tests would be Selenium, which is a standard way to test web applications.
This topic was already covered in https://techscreen.ec.tuwien.ac.at/node/3381
Use automated UI Test, which is possible with the Selenium library and a browser driver. The browser driver allows us to run actions in a browser while writing code. The Selenium library is an interface to connect many browsers with the same code base. So now we are able to code a simple test, where a robot is automatically clicking through the website and trying out the login functionality. This technique may also apply to test other important and high priority UI features.