我正在 Jasmine 中为 Backbone 应用程序编写测试,我想知道我的测试覆盖的代码比例。为此,我想使用 jsTestDriver。但是我有一个问题:我创建了一个配置文件并在那里添加了所有资源,但是当我开始测试 Backbone 方法时没有定义。这是我的配置文件:
server: http://localhost:9876
load:
- lib/jasmine-1.3.1/jasmine.js
- lib/jasmine-jquery.js
- lib/JasmineAdapter.js
- lib/sinon-1.5.2.js
- cordova-2.2.0.js
- libs/jquery-1.8.2.min.js
- libs/underscore-min.js
- libs/backbone-min.js
- libs/lazyload-min.js
- core/js/core.js
- index.js
test:
- spec/test.js
该顺序与 SpecRunner 文件中的顺序相同。这是我的测试文件:
describe("Attributes", function(){
it("Test", function() {
c = new Cars;
expect(c.attributes.StartDate).toBeDefined();
expect(c.attributes.StartDate).toBeDefined();
})
});
Cars 是一个 Backbone 模型,该模型具有默认属性 StartSate。在我的测试中,我想检查该属性是否已定义。当然还有 WebStorm 中的错误:
TypeError: TypeError: Cannot read property 'attributes' of undefined
TypeError: Cannot read property 'attributes' of undefined
at null.<anonymous> (spec/test.js:10:21)