testacular travis-ci npm

Remote JS execution in multiple browsers / without browser...

Testacular Build Status

A simple tool that allows you to execute JavaScript code in multiple real browsers, powered by Node.js and Socket.io.

Build Status

The main purpose of Testacular is to make your TDD development easy, fast, and fun.



sudo npm install -g testacular

# or install in a local folder (you have to create symlinks to binaries on your own)
npm install testacular

You can install Testacular even without NPM, just get the latest package and create symlinks:

# replace x.y.z with latest version
curl http://registry.npmjs.org/testacular/-/testacular-x.y.z.tgz | tar -xv && mv package testacular

# create symlinks (optional)
cd testacular
sudo ln -s $PWD/bin/testacular /usr/local/bin/testacular

What is it good for?

Mostly for testing code in multiple browsers (desktop, mobile, tablets):

  • executing tests locally during development
  • executing tests on a continuous integration server

Let’s do it!

Go into your project and create a testacular configuration. Basically you need to specify the source files that you want to execute.

For an example configuration, see test/client/config.js which contains most of the options.

# create config file (testacular.conf.js by default)
testacular init

# start server
testacular start

# open browsers you want to test (if testacular is not configured to do it for you)
open http://localhost:8080

# if you want to run tests manually (without auto watching file changes), you can:
testacular run

Testing frameworks support

Testacular is not an assertion framework, so for that you can use pretty much anything you like.

However, we provide an adapter for Jasmine. If you wanna write an adapter for your favourite testing framework, that’s great - check out adapter/jasmine.src.js and write your own.

Why am I doing this?

Throughout the development of AngularJS, we’ve been using JSTD for testing. I really think that JSTD is a good idea. Unfortunately, we had many problems with JSTD, so we decided to write our own test runner based on the same idea. We wanted a simple tool just for executing JavaScript tests that is both stable and fast. That’s why we use the awesome Socket.io library. More than that, with Node.js, we can execute JavaScript without the overhead of a browser, which is much faster. This speed is very helpful during development when we need to get feedback as quick as possible.


If you are thinking about making Testacular better, or you just want to hack on it, that’s great - go and fork the repo.

git clone git://github.com/vojtajina/testacular.git # or clone your fork

cd testacular
sudo npm install . --dev # install all dev dependencies (such as grunt, jasmine-node, etc...)

If you have any further questions, join the mailing list or submit an issue.

You can follow @TestacularJS as well.


Testacular uses Semantic Versioning. All even versions (eg. 0.2.x, 0.4.x) are stable.

Stable channel

npm install -g testacular

Canary channel

npm install -g [email protected]

Related Repositories



Grails plugin for karma runner (formely testacular) ...



Seed For Bowling Kata, Using Testacular ...



Remote JS execution in multiple browsers / without browser... ...



Grunt task for running tests with testacular ...



Spectacular Test Runner for JavaScript ...

Top Contributors

vojtajina shyamseshadri marcenuc IgorMinar avalanche123 ajoslin btford pdswan rdodev


-   v0.0.16 zip tar
-   v0.0.15 zip tar
-   v0.0.14 zip tar
-   v0.0.13 zip tar
-   v0.0.12 zip tar
-   v0.0.11 zip tar
-   v0.0.10 zip tar
-   v0.0.9 zip tar
-   v0.0.8 zip tar
-   v0.0.7 zip tar
-   v0.0.6 zip tar
-   v0.0.5 zip tar
-   v0.0.4 zip tar
-   v0.0.3 zip tar
-   v0.0.2 zip tar
-   v0.0.1 zip tar