Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joris-van-der-wel/mocha-sugar-free
Write mocha test cases without using globals or `this`. Browserify compatible. Mocha without the sugar.
https://github.com/joris-van-der-wel/mocha-sugar-free
Last synced: 1 day ago
JSON representation
Write mocha test cases without using globals or `this`. Browserify compatible. Mocha without the sugar.
- Host: GitHub
- URL: https://github.com/joris-van-der-wel/mocha-sugar-free
- Owner: Joris-van-der-Wel
- License: mit
- Created: 2015-10-10T18:53:49.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-07-30T10:27:37.000Z (over 6 years ago)
- Last Synced: 2024-08-09T05:50:14.191Z (3 months ago)
- Language: JavaScript
- Size: 18.6 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
mocha-sugar-free
================
Write mocha test cases without using globals or `this`. Browserify compatible. Mocha without the sugar.example
-------```javascript
// Note: this example uses ES6 features, however this module does not require it.const describe = require('mocha-sugar-free').describe;
const it = require('mocha-sugar-free').it;
const assert = require('assert');describe('Tutorial', suiteContext => {
suiteContext.timeout(100); // a default timeout for tests within this suiteit('should demonstrate a simple example', () => assert.equal(10 / 2, 5) );
// You can use arrow functions, which is not supported in regular mocha:
it('should demonstrate that `this` is not used', context => {
context.slow(1); // warn that the test is slow if it takes more than 1ms
context.timeout(5); // should timeout after 5ms
context.enableTimeouts(true); // enable timeout checking (enabled by default in mocha)
context.skip(); // mark this test as skipped
console.info('You should never see this message because of `skip()`');
});
it('should demonstrate that asynchronous tests are defined by an option', context => {
setTimeout(() => context.done(), 1000);
}, {async: true, timeout: 1500});
it({
title: 'should demonstrate all of the options that you can use',
fn() {
assert.equal(10 / 2, 5);
},
async: false, // is this an asynchronous test?
// if you return a Promise in your test, you do not have to set this
enableTimeouts: true, // same as context.enableTimeouts()
timeout: 25, // same as context.timeout()
slow: 10, // same as context.slow()
skip: false, // always skip this test?
skipIfBrowser: false, // skip this test if it is run in a web browser?
skipUnlessBrowser: false, // skip this test if it is run in node.js?
skipIfWebWorker: false, // skip this test if it is ran in a Web Worker?
expectPromise: false // throw an exception if the test function does not
// return a Promise (thenable)?
});
});```
Test cases that use `mocha-sugar-free` are run in the same way as normal mocha test cases, you can even mix them. You can not use `mocha-sugar-free` standalone, you should run your test cases using `mocha foo.js` (not `node foo.js`)