Kata setup with Mocha and Chai
by web5me
HTML
<link rel="stylesheet" href="https://rawgit.com/ludovicofischer/mocha-chai-browser-demo/master/mocha.css">
<script src="https://rawgit.com/ludovicofischer/mocha-chai-browser-demo/master/test-lib/chai.js"></script>
<script src="https://rawgit.com/ludovicofischer/mocha-chai-browser-demo/master/test-lib/mocha.js"></script>
<div id="mocha"></div>
JavaScript
///////////// KATA CODE /////////////
// Constructor
var Kata = function(input) {
this.input = input;
};
// Kata implementation
Kata.prototype = {
doSomething: function() {
return this.input;
}
};
///////////// KATA TEST /////////////
var assert = chai.assert; mocha.setup('bdd');
describe('Kata', function() {
var kata
,input = 'foo'
;
beforeEach(function() {
kata = new Kata(input);
});
describe('doSomething()', function() {
it('should return output', function() {
var expected = input;
var actual = kata.doSomething();
assert.ok(typeof kata.doSomething == 'function', 'Is callable');
assert.equal(expected, actual, 'Should return output');
});
});
it('should fail here', function() {
assert.ok(typeof kata.fail == 'function', 'Is callable');
});
});
mocha.run();