Faster way to run, debug and view results of Jest tests
Jest CLI or editor extension
Wallaby extension for Jest
Overall score
Overall score
As a testing framework, Jest provides tons of useful and powerful features, such as a variety of matchers, snapshot testing and built-in mocking. However, as a development time test runner Jest CLI and existing editor extensions can be slow, make it hard to debug test failures, make it hard to understand the cause of failing tests, are distracting and buggy. There is an easy way to fix these problems and to become way more productive with Jest.
Jest can be very slow, even in watch mode.
Wallaby is the fastest available JavaScript test runner.
Jest in watch mode (in the best case scenario) re-runs all tests in all test files related to changed files based on hg/git uncommitted files.
Wallaby only re-runs tests that are affected by your changes, regardless of whether the files are uncommitted, in source control, or unsaved.
If you have uncommitted changes in 3 component files that are
covered by 3 different test files each, with
10 tests each, and are changing 1 test in one of the test files,
Jest will re-run 90
tests, on file save event.
If you have changes (saved or not unsaved)
in 3 component files that are
covered by 3 different test files each, with
10 tests each, and are changing 1 test in one of the test files,
Wallaby will re-run 1
test, as you type.
Jest debugging experience is limited, painful to use and outdated.
Wallaby adds a few powerful instruments to debugging classics, designed specifically for tests.
When you need to debug Jest tests, your options are limited to using a good but over a decade old
console.log
, or, if your editor supports it and you have correctly configured it, you may
use
a
classical debugger. Most of the debugger features are over 40
years old and have not been designed to support a fast edit-and-continue test feedback loop.
When using Wallaby, there's less need to debug in the first place, because of realtime inline
output
and value explorer. However, when a debugger is required,
in
addition to existing tools,
Wallaby offers
time travel debugger and test stories. Wallaby debugger requires no config, works
for monorepos and dynamic/data driven tests, such as it.each()
.
Jest test output is hard to read, search and act upon, especially when many tests are failing.
Wallaby test output is ergonomic, highlighted, editor integrated and actionable.
Jest test output is either displayed in the terminal, highlighted with ANSI colors (not from your editor theme) and awkward spacings, or in a terminal-like output view with little to no highlighting; limited searching and navigation options makes life hard.
Wallaby test output is deeply integrated with your editor, highlighted using your editor colors and contains actionable links to navigate to tests, logs and errors, view/update snapshots (even for a single test), explore assertion diffs, and debug individual tests.
Jest code coverage is a separately available static artifact of a test run.
Wallaby code coverage is a first class citizen, continuously and seamlessly displayed in editor.
Jest code coverage results are available (behind a config flag) as a statically generated HTML page Istanbul report, or as a partial LCOV sourced report displayed with a noticeable delay and flickering in your editor, and as a too-high-level-to-be-useful terminal summary report.
Wallaby branch-level code coverage is updated in your editor gutter as you type, and individual test coverage can be viewed. A strategic-level view of your project's code coverage with various available levels of aggregation is also available and updated in realtime.
Jest is an open source project driven by many awesome enthusiasts, mostly in their spare time and with very limited funding. Wallaby team has made some contributions to the project too.
Wallaby is a commercially successful tool backed by a team of dedicated professionals passionately working on it full-time for living.
There's no bug you can't fix yourself or question you can't find an answer for, it is just a matter of how you want to spend your time.
Wallaby team offers GitHub issues and Discord support, and dedicated email support. We respond within minutes and solve issues within a few hours.
Jest is free, but only if your time is free.
Wallaby is free for OSS projects, our perpetual commercial license is priced the same as a video game or a fancy dinner for two.
npm test
Use Wallaby to boost your productivity by running and debugging Jest tests in VS Code or WebStorm as you are writing your tests/code.
Use Jest as your testing framework for your tests, use Jest CLI to run tests as a part of your Continuous Integration (CI) pipeline.