Ember Testing Example
Model, controller, view and integration tests for Ember.js. Uses Mocha and Chai.
by Jed Mao
HTML
<script src="https://s3.amazonaws.com/kiddsoftware-jsfiddle/handlebars-1.0.0-rc.3.js"></script>
<script src="https://s3.amazonaws.com/kiddsoftware-jsfiddle/ember-1.0.0-rc.2.js"></script>
<link rel="stylesheet" href="https://s3.amazonaws.com/kiddsoftware-jsfiddle/mocha-1.9.0.css">
<script src="https://s3.amazonaws.com/kiddsoftware-jsfiddle/mocha-1.9.0.js"></script>
<script src="https://s3.amazonaws.com/kiddsoftware-jsfiddle/sinon-1.6.0.js"></script>
<script src=" https://s3.amazonaws.com/kiddsoftware-jsfiddle/chai-1.5.0.js"></script>
<script src="https://s3.amazonaws.com/kiddsoftware-jsfiddle/sinon-chai.js"></script>
<script src="https://s3.amazonaws.com/kiddsoftware-jsfiddle/chai-jquery.js"></script>
<script src="https://s3.amazonaws.com/kiddsoftware-jsfiddle/ember-data-a29070da.js"></script>
<!-- Mocha test output goes here. -->
<div id="mocha"></div>
JavaScript
//================================================================================
// App Code
function reverseTitles(message) {
return message;
}
//================================================================================
// Test Code
// Configure Mocha, telling both it and chai to use BDD-style tests.
mocha.setup('bdd');
var expect = chai.expect;
describe('String.reverse', function() {
it('reverses strings', function() {
expect('abc'.reverse()).to.eq('cba');
});
});
describe('reverseTitles function', function() {
it('reverses titles', function() {
var message = 'Foo, Bar and Baz!';
var expected = 'ooF, raB and zaB!';
expect(reverseTitles(message)).to.eq(expected);
});
});
// Run all our test suites. Only necessary in the browser.
mocha.run();