Jasmine is the widely accepted tool of choice when it comes to writing effective unit tests for JavaScript code. There's no shortage of add-on tools for Jasmine that make it possible to test just about anything and to use any tool to run your tests. For example, it's common practice to use a task runner such as Grunt or Gulp to run tests, along with the other various build tasks associated with the project.
Jest is a unit testing tool, developed by Facebook, which leverages the best parts of Jasmine while adding new capabilities. It's also easy to run Jest in our projects. For example, projects that depend on Webpack generally rely on NPM scripts to perform various tasks, as opposed to a task runner. This is easy to do with Jest, as we'll see in a moment.
There are three key aspects to Jest that will help us test our Flux architectures:
Jest provides a virtualized JavaScript environment, including a DOM interface
Jest spawns multiple worker processes to run our tests, leading to less...