Mocha (JavaScript framework)
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
![]() | |
Developer(s) | OpenJS Foundation |
---|---|
Initial release | 22 November 2011 |
Stable release | 10.0.0
/ 1 May 2022 |
Repository | github |
Written in | JavaScript |
Platform | Node.js |
Type | Test automation framework |
License | MIT |
Website | mochajs |
Mocha is a JavaScript test framework for Node.js programs, featuring browser support, asynchronous testing, test coverage reports, and use of any assertion library.[1]
Assertion libraries
Mocha can be used with most JavaScript assertion libraries, including:
- should.js
- express.js
- chai
- better-assert
- unexpected
Usage and examples
<syntaxhighlight lang="console"> $ npm install -g mocha $ mkdir test $ $EDITOR test/test.js # or open with your favorite editor </syntaxhighlight> <syntaxhighlight lang="javascript"> var assert = require("assert") describe('Foo', function(){
describe('#getBar(value)', function() { it('should return 100 when value is negative') // placeholder it('should return 0 when value is positive', function() { assert.equal(0, Foo.getBar(10)); }) })
})
</syntaxhighlight>
<syntaxhighlight lang="console">
$ mocha
.
1 test complete (1ms)
</syntaxhighlight>
For asynchronous testing, invoke the callback, and Mocha will wait for completion.
<syntaxhighlight lang="javascript"> describe('Foo', function(){
describe('#bar()', function() { it('should work without error', function(done) { var foo = new Foo(128); foo.bar(done); }) })
}) </syntaxhighlight>
See also
Lua error in mw.title.lua at line 346: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').