Skip to content

Instantly share code, notes, and snippets.

@alduro
Created October 29, 2012 23:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alduro/3977322 to your computer and use it in GitHub Desktop.
Save alduro/3977322 to your computer and use it in GitHub Desktop.
******* test/runner.html
<!DOCTYPE html>
<html>
<head>
<title>Jasmine Spec Runner</title>
<link rel="stylesheet" type="text/css" href="../test/jasmine/lib/jasmine-1.2.0/jasmine.css">
<script src="../js/libs/require/require.js" data-main="SpecRunner"></script>
</head>
<body>
<div id="sandbox" style="overflow: hidden; height: 1px;"></div>
</body>
</html>
****** test/SpecRunner.js
require.config({
baseUrl: "../js/",
urlArgs: 'cb=' + Math.random(),
paths: {
jquery: 'libs/jquery/jquery-1.8.2.min',
underscore: 'libs/underscore/amd-js/underscore-min',
backbone: 'libs/backbone/amd-js/backbone-min',
'backbone.localStorage': 'libs/backbone/backbone.localStorage',
jasmine: '../test/jasmine/lib/jasmine-1.2.0/jasmine',
'jasmine-html': '../test/jasmine/lib/jasmine-1.2.0/jasmine-html',
spec: '../test/spec/',
cs: 'libs/require/cs',
hbs: 'libs/require/hbs',
handlebars: 'libs/require/Handlebars',
i18nprecompile: 'libs/hbs/i18nprecompile',
json2: 'libs/hbs/json2',
coffeescript : 'coffee-script'
},
hbs : {
templateExtension : 'html',
disableI18n : false
},
shim: {
underscore: {
exports: "_"
},
backbone: {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'backbone.localStorage': {
deps: ['backbone'],
exports: 'Backbone'
},
jasmine: {
exports: 'jasmine'
},
'jasmine-html': {
deps: ['jasmine'],
exports: 'jasmine'
}
}
});
window.store = "TestStore"; // override local storage store name - for testing
require(['underscore', 'jquery', 'jasmine-html' ], function(_, $, jasmine ){
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var specs = [];
specs.push('cs!spec/views/loginSpec.spec');
$(function(){
require(specs, function(){
jasmineEnv.execute();
});
});
});
**** test/spec/views/loginSpec.spec.coffee
define [ 'cs!models/user'
, 'cs!views/login'
], (User, LoginView) ->
describe 'View :: Login', ->
it 'uses User', ->
expect(User).toBeDefined()
it 'uses LoginView', ->
expect(LoginView).toBeDefined()
it 'passes 2 + 2', ->
expect(2+2).toEqual(4)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment