mocha-given v0.1.3
mocha-given
Mocha-given is a mocha interface that helps you write cleaner specs using Given, When, Then and And.
It is a shameless port of Justin Searls' jasmine-given which is a tribute to Jim Weirich's terrific rspec-given gem.
Example Specs
describe 'assigning stuff to this', ->
Given -> @number = 24
When -> @number++
And -> @number *= 2
Then -> @number == 50
describe 'assigning stuff to variables', ->
subject = null
Given -> subject = []
When -> subject.push('foo')
Then -> subject.length == 1
describe 'Testing deferred', ->
Given -> @t = Date.now()
Then.after 1500, 'so much time has passed', -> Date.now() - @t >= 1500
describe 'Testing async', ->
Given -> @subject = new User()
Then 'save user', (done) -> @subject.save(done);Run tests
Global installation of mocha
If you have mocha installed globally you need to install mocha-given globally as well.
$ npm install -g mocha mocha-givenThen you can run your tests by setting the interface of mocha to mocha-given
$ mocha -u mocha-given --compilers coffee:coffee-script -R specLocal installation of mocha
If you have installed mocha and mocha-given locally
$ npm install mocha-given coffee-scriptyou have to call the mocha binary directly:
$ ./node_modules/.bin/mocha -u mocha-given --compilers coffee:coffee-script -R specRun mocha-given tests & start contributing
To run the mocha-given tests for developing, it has to be symlinked into the node_modules folder to enable mocha to resolve mocha-given.
Therefore run the script:
$ npm run linkAfterwards mocha has to be installed with $ npm install mocha.
Now you can run the tests using $ npm tests and start contributing.
Run tests programmatically
var Mocha = require('mocha');
var fs = require('fs');
var path = require('path');
// require mocha-given after Mocha is set
require('mocha-given');
// the directory with your tests/specs
var testDir = 'tests';
// First, you need to instantiate a Mocha instance.
var mocha = new Mocha({
ui: 'mocha-given',
reporter: 'spec'
});
// Get test files
fs.readdirSync(testDir).filter(function(file){
// allow javascript and coffescript files
return file.match(/\.(coffee|js)$/);
}).forEach(function(file){
mocha.addFile(
path.join(testDir, file)
);
});
// Now, you can run the tests.
mocha.run(function(failures){
process.on('exit', function () {
process.exit(failures);
});
});Run from command line (with mocha and mocha-given installed):
$ node runtests.jsCredits
Thanks to SinnerSchrader for their support and the time to work on this project.
11 years ago
11 years ago
11 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago

