Introduction
Manual testing is tedious, time consuming, labor intensive and error prone where as Automated testing can dramatically improve efficiency and effectiveness and enables testers to focus their time on more strategic activities such as exploratory testing and usability etc.
Jasmine is an open source automated testing framework based on behavior driven development that helps to test JavaScript code. It provides functions to help with structuring user’s tests and also making assertions. As user’s tests grow, keeping them well structured and documented is vital, Jasmine helps to achieve these goals.
Jasmine framework for JavaScript aims to run on any JavaScript-enabled platform, not putting oneself deliberately into a place on the application nor the IDE, and to have easy-to-read syntax.
Features
One of the most popular JavaScript unit testing frameworks:
- Comes with assertions, spies, and mocks, so pretty much everything you may need to start developing your unit tests. Jasmine makes the initial setup easy and user can still add libraries if the user really require unit functionality.
- It’s easy to start adding tests to use’s app right away. Jasmine provides developers with everything user need out-of-the box and there are not much inconsistency.
- We can find the standalone version made it easy to see just how everything is setup and user can start playing around with it right away.
- It integrates with Angular 1 and Angular 2 alongside many popular libraries today.
- Supports asynchronous testing and makes use of ‘spies’ for implementing test doubles.
- Supports testing of front-end code through a front-end extension of Jasmine called Jasmine-jQuery.
Advantages
- Jasmine is very easy to implement in any kind of development methodology.
- Jasmine does not depend on any other JavaScript frameworks and it does not require any DOM
- All the syntax used in Jasmine framework is clean and obvious
- It is heavily influenced by other unit testing frameworks, such as ScrewUnit, JSSpec, JSpec, and RSpec etc.
- Jasmine is an open-source framework and easily available in different versions like stand-alone, ruby gem, Node.js, etc.
Conclusion
Along with it’s huge benefits, the aim and objective of Jasmine is to be browser, framework, platform and language independent. Besides it’s behavioral driven development, it also supports Test driven development.
In conclusion, the Jasmine framework has almost everything built into it including assertions/expectations and test double utilities (which come in the form of spies).