Wallaby.js is an intelligent and super fast test runner for JavaScript that continuously runs your tests. It reports code coverage and other results directly to your code editor, immediately as you change your code. Wallaby.js is insanely fast, because it only executes tests affected by your code changes and runs your tests in parallel. The tool provides a huge productivity boost whether you are doing TDD/BDD or using any other approach.

Where can I download wallaby.js?

Wallaby.js for products based on IntelliJ Platform (WebStorm, PhpStorm, RubyMine, IntelliJ IDEA or PyCharm).

To get the version of wallaby.js for Visual Studio Code, please install the Wallaby.js extension.

To get the version of wallaby.js for Atom editor, please install the Atom-Wallaby package.

Wallaby.js for Visual Studio 2013 (Community, Professional, Premium, Ultimate).

Wallaby.js for Visual Studio 2015 (Community, Professional, Enterprise).

To get the version of wallaby.js for Sublime Text, please install the Wallaby package via Sublime Text Package Manager.

Once you have wallaby.js installed and running in any of the supported editors, you may also use Wallaby.js App to get coverage reports and the realtime bird's eye view of your project's tests connected to your editor.

To install the downloaded wallaby.js extension in your editor and get started, please follow these instructions.

Trial versions available for download are fully functional and should work for 30 days. Note that in the trial mode wallaby will sometimes prompt you to restart your editor to get another trial session. Please contact us if you would like to arrange a trial period for yourself or your team without activation prompts and restarts.

Who is using wallaby.js?

Thousands of individual professional developers and companies all over the world have already become more productive with wallaby.js. Even software development tools vendors, such as our friends from JetBrains, are trusting wallaby.js to help building other development tools.

Please contact us if you would like your company's or project's logo to be listed.

What are our users saying?

Show more happy users

How much does wallaby.js license cost?

There are no free tools, unless your time has no value. You may find our pricing and licensing details on the pricing page.

Do I need to use some new APIs in my tests or change my tests/code to run them with wallaby.js?

No. Wallaby.js just makes your code editor smarter and your tests to run faster. No need to switch and invest into new frameworks, commands, or APIs - just use your existing testing libraries.

There's no vendor, API or framework lock-in when using wallaby.js. You are getting a productivity boost with wallaby.js, but you will always be able to run your tests without the tool.

What is wallaby.js again?

Wallaby.js is an intelligent and super fast test runner deeply integrated into your editor or IDE. It runs your unit tests as you type and displays various results (including code coverage for JavaScript, TypeScript, and CoffeeScript) right inside your code editor. Wallaby.js is great for doing JavaScript TDD (Test-driven development) or BDD (Behavior Driven Development), while also working for other approaches.

Once you have wallaby.js installed and running in any of the supported editors, you may also use Wallaby.js App to get the realtime reports and analysis connected to your editor.

What about a list of main features?

  • Supports continuous testing in your code editor:
    • WebStorm, IntelliJ IDEA Ultimate, PhpStorm, RubyMine, PyCharm Professional;
    • Visual Studio Code;
    • Atom Text Editor;
    • Visual Studio 2013 (Update 4-5), Visual Studio 2015;
    • Sublime Text.
  • Supports browser code unit testing (via PhantomJs, Electron or node.js) and node.js unit testing.
  • Shows live test coverage.
  • Provides beautiful realtime test and coverage reports.
  • Shows failed expectations, errors and console.log messages inline, where and when they occur.
  • Supports many testing frameworks (Jasmine, QUnit, Mocha, Jest, and AVA).
  • Supports ES6, ES7, JSX.
  • Supports TypeScript, CoffeeScript, Flow.
  • Supports Webpack and Browserify.
  • Extensible via preprocessors, compilers and more.
  • Runs tests affected by code changes.
  • Runs tests in parallel.
  • Runs selected test(s).
  • Captures test execution screenshots.

Where can I find more information about wallaby.js, such as tutorials and samples?

You can find more information, detailed tutorials and sample project links in our documentation.

How is it different from Karma, Mocha runner, etc.?

With other test runners you either need to run your tests manually, or configure them to run the tests when you save your source code files. Those runners execute all of your tests, and, as your project grows, it takes more and more time to complete the task. The test execution results are displayed somewhere outside of your code editor, and constant context switching is a productivity killer.

Wallaby.js runs your unit tests immediately as you type, no need to run anything manually or even save files. The tool calculates and runs the minimum required number of tests affected by your code changes, so no matter how large your project grows - the feedback is almost instant. Test execution results, including code coverage, are displayed and updated in real time right where you need it — in your code editor, next to the line of code that you're editing.

Can I use wallaby.js with Jasmine, Mocha, QUnit, AVA, or Jest?

Yes. You can use your favorite testing framework, any mocking framework (such as Sinon.js), any assertion library (such as Chai.js, Expect.js, Should.js, Jasmine built-in one, etc.) with wallaby.js.

Does wallaby.js support Angular.js, React, Backbone.js, Aurelia, etc.?

Yes. As long as you can write tests for your application, wallaby.js can run them. Check out our tutorials for testing Angular.js and React applications.

What about node.js?

Wallaby.js supports node.js testing. In fact, wallaby.js is written in node.js and we write tests for wallaby.js using wallaby.js.

What about ES6, ES7 or JSX?

Wallaby.js supports ES6, ES7 and JSX. ES6 is supported both natively for engines that can execute it and via code transpilers, such as Babel. You can see realtime coverage for your generators, classes, arrow functions and much more with wallaby.js. For JSX, not only does wallaby.js understand its syntax, but it also displays coverage inside JavaScript expressions within JSX elements.

What about TypeScript, CoffeeScript, Flow?

Wallaby.js has zero-configuration support for TypeScript and CoffeeScript. Babel is also fully supported.

What about Browserify or Webpack?

Wallaby.js supports both Browserify and Webpack via open source plugins. These plugins not only use incremental compilation, but also leverage browser caching to provide the best performance.

What about code preprocessors like in Karma?

Wallaby.js supports Karma-like preprocessors. Simply provide a function invoking an existing node module.

Do I have to install any standalone applications with wallaby.js?

No. All you need to install is the wallaby.js plugin for your code editor, period. No new command line tools or browser plugins. Our goal is not to add more things between you and the feedback from your tests. In fact, it's the opposite: wallaby.js eliminates any unnecessary context switching, so it's just you and your test feedback, right where and when you write your code.

Do I have to use TDD with wallaby.js or do I have to write my code first?

Wallaby.js is agnostic of any software development techniques. It helps you be more productive whether you're doing JavaScript TDD, writing tests after, or using any mixed approach.

Who stands behind wallaby.js?

At the core of our team are professional JavaScript developers and professional development tools makers. Not only do we know and love the language and the ecosystem, but we have also dedicated our careers to making programmers happier and more productive.

Where is your changelog, and what does the roadmap for wallaby.js look like?

Our changelog is in our public repository.

Wallaby.js roadmap:

How can I contact you?

Please feel free to send us an email to [email protected] or a message on twitter @WallabyJs and we will get back to you shortly.

How can I subscribe to wallaby.js news?

Follow us on twitter @WallabyJs to receive all the latest news.

We also send out project updates about once a month or two months. Have a look at our past newsletters to decide if they’re worth subscribing to.