One of Jest's philosophies is to provide an integrated “zero-configuration” experience. Eg: it provides assertion library by default.
Ranked in these QuestionsQuestion Ranking
Pro Behaviour Driven Development focused
If you prefer your test cases and applications to be developed from the perspective of your stake holders, Jasmine is the framework for you.
Pro Easy to find Jasmine tutorials for most MV* frameworks,
whilst Mocha is still considered the new kid on the block.
Pro Has a very readable and user-friendly syntax
Code readability is an important factor, if the application development involves multiple teams; if the testing team is unable to read your test cases then they won't be able to test it. Jasmine resolves this issue by providing developers with an extremely simple and "human-friendly" syntax.
Pro Allows both DOM-less as well as asynchronous testing
If you have some test cases that do not involve testing of DOM elements or events, those are exactly the ones where you want to use Jasmine. It'll provide smooth, simple and easy DOM-less testing of those test cases.
Pro Integrates very well with Ruby on Rails
The jasmine-rails gem allows you to run Jasmine specs in a browser (powered by Rails engine mounted into your application).
Pro Easy to use
One of Jest's philosophies is to provide an integrated “zero-configuration” experience.
Eg: it provides assertion library by default.
Pro Well documented
Pro Recommended for React testing
Jest is the recommended unit testing framework by Facebook. It's also the one used by Facebook developers when working with React projects.
Pro Snapshot testing is convinient
It's great for testing UI.
It is also convenient for asserting complex data objects, as it doesn't require developers to manually compose the expected value.
Con Maintainers are not very responsive to pull requests
Pivotal aren't responsive to pull requests, though they have made repo changes within < 3 months
Con Not beginner-friendly
If you're new to unit testing and are trying to understand unit testing within the React ecosystem, specifically ReactNative, it is going to be a challenge. The Jest doc dives right into making tests without any primer on how to go from concept to implementation.