What is wallaby.js?

Wallaby.js is an integrated test runner that enables highly productive JavaScript (or TypeScript, or CoffeeScript)
unit testing workflow. It runs your unit
tests immediately as you type and
displays various execution results, including code coverage and inline messages, right inside your
code editor. The tool is insanely fast, because it only executes tests
affected by your code changes and runs your tests in parallel.

Wallaby.js is great for doing
JavaScript (or TypeScript, or CoffeeScript) TDD (Test-driven development) or BDD (Behavior Driven
Development), while also working nicely for other approaches.

There is no vendor, API or framework lock-in when using wallaby.js, because the tool is just using
your testing framework and assertion libraries. You are getting a productivity
boost with wallaby.js, and you will always be able to run your tests without the tool.

Once you have wallaby.js installed and running in any of the supported editors, you may also use wallaby.js
browser
app to
get the realtime test execution and code coverage reports connected to your editor.

Who is using wallaby.js?

Thousands of individual professional developers and companies (including many of Fortune 500 companies and
well-known tech giants) 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.

Wallaby.js is one of the most absolutely
awesome development tools I've ever used. Instant test feedback and editor integration, plus displaying
assignment values per-line, and performance all in one. I'll never be able to live without this. https://t.co/qr8n0JeXPl

Took me far too long, but finally bought
my @wallabyjs license and it's already
changing my life for the better. Such an amazing tool for working with tests in your code. I can't say
enough great things about it other than... If you write Javascript, you need this in your life!!!

I struggled for days trying to get a
clean unit testing experience for Typescript. Finally tried @wallabyjs and got it working
immediately and exactly what I wanted. All I do is open source dev but my time (and sanity) is well worth
the price

I believe that I have to mention at
least once a month how freaking awesome @wallabyjs
is. Been working with it for 2 years and still love it every day. Worth every penny and great support. Thx
@ArtemGovorovOh yeah! We use it in
every @strongbrew_io workshop so far! #tdd

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, Jest CLI runner, etc.?

With other test runners you either need to run your tests manually, or, at best, configure them to run the tests when
you save
your
source code files. Those runners either execute all of your tests or, at best, all tests in all spec files affected
by all uncommitted code changes, even if you are primarily editing just one file. So, 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 to view the results is a productivity killer.

Wallaby.js runs your unit tests immediately as you type, no need to run anything manually, there's
even no need to save files. The tool calculates and runs the minimum required number of
tests affected by your code changes, often it is just a single test - and no other testing tool is capable of
operating on this level. So no matter how large your project grows - the feedback is almost
instant with wallaby.js. 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. No matter how awesome and fast your testing framework is
(like
Jest, Mocha, Jasmine, AVA, etc.), wallaby.js makes it even more awesome and faster with the features it adds.

Does wallaby.js support Angular, 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 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 ES.next or JSX?

ES.next 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 code preprocessors like in Karma?

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?