joe

Joe is a JavaScript testing framework that actually works. Unlike Mocha, we won't die on you abruptly when executing dynamically created tests and are always able to associate the correct test to the correct corresponding test suite. Switching from Mocha

Joe


Joe is a JavaScript testing framework that actually works. Unlike Mocha, we won't die on you abruptly when executing dynamically created tests and are always able to associate the correct test to the correct corresponding test suite. Switching from Mocha is trivial and only takes a few minutes.

NPM

  • Use: require('joe')
  • Install: npm install --save joe

Browserify

  • Use: require('joe')
  • Install: npm install --save joe
  • CDN URL: //wzrd.in/bundle/joe@1.6.0

Ender

  • Use: require('joe')
  • Install: ender add joe
// define your test suite 
require('joe').describe('suite name', function(describe,it){
    // group together items into sub suites if you desire 
    describe('sub suite name', function(describe,it){
        // create both synchronous and asynchronous tests 
        it('synchronous test', function(){
            // do your stuff 
        });
        it('asynchronous test name', function(complete){
            setTimeout(function(){
                // do your stuff 
                complete();
            },500);
        });
        // run a methods before and\or after the test 
        function beforeEach(test) {
            // do some pre test stuff 
        }
        function afterEach(testerr) {
            // do some post test stuff 
        }
        it('before and after options test', {before: beforeEach, after: afterEach}, function(){
            // do your stuff 
        });
    });
    // you can also define tests dynamically when using the completion callback on the group 
    describe('lets create dynamic tests', function(describe,it,done){
        setTimeout(function(){
            it('a synchronous dynamic test',function(){
                // do your stuff 
            });
            done();
        },500)
    });
});
$ node example.js 
suite name
suite name ➞  sub suite name
suite name ➞  sub suite name ➞  synchronous test
suite name ➞  sub suite name ➞  synchronous test ✔   
suite name ➞  sub suite name ➞  asynchronous test name
suite name ➞  sub suite name ➞  asynchronous test name ✔   
suite name ➞  sub suite name ✔  
suite name ➞  lets create dynamic tests
suite name ➞  lets create dynamic tests ➞  a synchronous dynamic test
suite name ➞  lets create dynamic tests ➞  a synchronous dynamic test ✔   
suite name ➞  lets create dynamic tests ✔  
suite name ✔  
 
3/3 tests ran successfully, everything passed

View the Complete Joe Documentation on the Bevry Website

Discover the available Custom Reporters for Joe using the joe-reporter keyword on the NPM Registry

Discover the change history by heading on over to the HISTORY.md file.

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

These amazing people are maintaining this project:

No sponsors yet! Will you be the first?

These amazing people have contributed code to this project:

Become a contributor!

Licensed under the incredibly permissive MIT license

Copyright © 2012+ Bevry Pty Ltd us@bevry.me (http://bevry.me)