JSPM

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

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.

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 Flattr this project

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

Backend

  1. Install Node.js
  2. npm install --save-dev joe joe-reporter-console

Frontend

  1. See Browserify

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);
        });
    });
    // 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 API

Complete API guide here.

Custom Reporters

Instructions and listing here.

History

You can discover the history inside the History.md file

License

Licensed under the incredibly permissive MIT License
Copyright © 2012+ Bevry Pty Ltd