Jasmine is a behavior-based development environment for testing JavaScript code. It does not depend on other JavaScript frameworks. This does not require a DOM. And it has clean, obvious syntax, so you can write tests easily.
In essence, Karma is a testing tool that spawns a web server that runs source code compared to test code for each of the connected browsers. The results of each test for each browser are checked and displayed on the command line for the developer so that they can see which browsers and tests passed or failed.
Jasmine and Karma are commonly used together to perform unit testing or integration testing.
Protractor is a comprehensive test environment for Angular and AngularJS applications. Protractor runs tests for your application running in a real browser, interacting with it as a user, regardless of other tools that do the same. Check out how it works here .
Recommendations:
Jasmine Documentation
Karma - How does it work?
Protractor
Sanju source share