Faster way to run, debug and view results of Jasmine tests

Jasmine
Jasmine
Wallaby
Wallaby for Jasmine

Overall score

Overall score

As a testing framework, Jasmine provides tons of useful and powerful features, such as a variety of matchers and built-in mocking. However, as a development time test runner Jasmine node runner is slow, makes it hard to debug test failures, makes it hard to understand the cause of failing tests, and is distracting. There is an easy way to fix these problems and to become way more productive with Jasmine.

Performance

With Jasmine node runner you either need to re-run all tests manually or individual test files semi-manually.

Wallaby is the fastest available JavaScript test runner.

Jasmine can either re-run all tests manually, or all tests with a separate file watching tool, or individual test files requested by user manually. No built-in automated watch mode is supported in Jasmine node runner.

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 3 source files that are covered by 3 different spec files each, and each spec file has 10 tests, and you are changing 1 test in one of the spec files,

you may semi-manually make Jasmine run all 90 tests, or manually make it run 10 tests.

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.

Debugging

Jasmine 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 Jasmine tests, your options are limited to using a good but over a decade old console.log, or 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().

Tests output

Jasmine 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.

Jasmine node runner test output is displayed in the terminal, highlighted with ANSI colors (not from your editor theme) and awkward spacings; 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.

Code coverage

Jasmine 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.

Jasmine code coverage results are available (via nyc CLI) as a statically generated HTML page Istanbul report, 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 available in a Wallaby App, also updated in realtime.

Support

Jasmine is an open source project that is recently maintained mostly by a single person.

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.

Jasmine 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.


Dev environment
Jasmine
Wallaby
CI server
Jasminenpm test

Use Wallaby to boost your productivity by running and debugging Jasmine tests in VS Code or WebStorm as you are writing your tests/code.

Use Jasmine as your testing framework for your tests, use Jasmine node runner to run tests as a part of your Continuous Integration (CI) pipeline.