JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 57
  • Score
    100M100P100Q22522F

Node.js asynchronous testing framework, runner and reporter

Package Exports

  • joe

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (joe) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Joe

Build Status NPM version NPM downloads Dependency Status Dev Dependency Status
Gratipay donate button Flattr donate button PayPayl donate button BitCoin donate button Wishlist browse button

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.

Install

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

Ender

  • Use: require('joe')
  • Install: ender add joe

Usage

Example

// 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(test, err) {
            // 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

Complete Documentation

View the Complete Joe Documentation on the Bevry Website

Custom Reporters

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

History

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

Contribute

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

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

Gratipay donate button Flattr donate button PayPayl donate button BitCoin donate button Wishlist browse button

Contributors

These amazing people have contributed code to this project:

Become a contributor!

License

Licensed under the incredibly permissive MIT license

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