![](/img/trans.png)
[英]TypeError testing Backbone.js in CoffeeScript with Jasmine
[英]including backbone.js in Jasmine's spec
我对belimber.js(和一般而言的JavaScript)还很陌生,我正尝试使用Jasmine对单元模型进行单元测试(为此我正在使用jasmine-node
)。 我的目录结构如下:
project/
src/models/mymodel.js
spec/mymodel.spec.js
lib/backbone-min.js
现在,我的问题是如何在不将它们包含在html页面中的情况下,使骨干.js可用于模型和规范? 我想将js代码与html分离开来,只能够使用jasmine-node运行测试
是的,通过使用node.js主干(和下划线)模块,可以在必要时在模型中要求它们,如下所示。
/models/car.js
var args = typeof exports !== 'undefined' ? [exports, require('Backbone')] : [window, window.Backbone];
(function (exports, backbone){
exports.Car = backbone.Model.extend({
onHornPress: function () {
return 'HONK';
}
});
}).apply(undefined, args);
/specs/car.spec.js
var Backbone = require('Backbone'),
Car = require('../models/car.js').Car;
describe("when the horn is pressed", function(){
var car;
beforeEach(function(){
car = new Car();
});
it("should honk.", function(){
var result = car.onHornPress();
expect(result).toEqual('HONK');
});
});
/myapp.html
<html>
<head>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script>
<script type="text/javascript" src="models/car.js"></script>
</head>
<body>
<script type="text/javascript">
var car = new Car();
console.log(car.onHornPress());
</script>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.