mohxa 1.1.0

A BDD style test library based closely on, for haxe

Released 2016-03-05.

To install, run:

haxelib install mohxa 1.1.0

See using Haxelib in Haxelib documentation for more information.

Current version1.1.0
StatisticsInstalled 63 times
Tags cross

### mohxa is a testing library for Haxe

A BDD style test library based closely on

(still pronounced mocha)


  • nested test groups
  • before, after, beforeEach, afterEach per group
  • formatted logging from inside tests
  • equal,notequal,equalfloat,equalint helper


  • async
  • other output formats (json etc).

Usually -debug flag is required for Stack traces.

Install options

haxelib install mohxa
haxelib git mohxa
haxelib local mohxa /path/to/ (from releases)

How does it look?

import structural.Stack;

class StackTest extends Mohxa {

    public function new() {


        describe('Stack Test', function(){

            log('we will create 2 different stacks');
            log('one with ints, one with strings');

            var int_stack : Stack<Int>;
            var string_stack : Stack<String>;


                log('creating ... ');

                int_stack = new Stack<Int>();
                string_stack = new Stack<String>();


            it('should each start with a 0 length', function(){
                equal(int_stack.length, 0, 'int stack');
                equal(string_stack.length, 0, 'string stack');


        }); //Stack Test

    } //new

} //StackTest

How does the output look?





Often times it is convenient to split test instances into groups. A Run is a group of test instances, which runs the group, and collates the total, failed and time properties from the run.

class Simple extends mohxa.Mohxa {

    public function new() {

        describe('simple', function() {
            it('exists', function() {
                equal(true, true);

    } //new

} //Simple

static function main() {

    var run = new mohxa.Run([ new Simple() ]);

    trace('completed ${} tests, ${run.failed} failures (${run.time}ms)');

} //main

You can also pass false to the constructor and call run manually.



  • 1.1.0 - Added mohxa.Run, for conveniently running groups of test instances, added mohxa_no_generic
  • 1.0.2 - lots MORE code clean up, update readme, tested on other targets. somewhere tags were added...
  • 1.0.1 - lots of code clean up, remove Dynamic use where not needed, replace with @:generic
  • 1.0.0 - Initial release

That's it

  • Suggestions, issues, bugs welcome.