我对Jasmine(2.2)和ExtJS(4.2.1)都很新。我按照Sencha文档中的单元测试说明来测试feed-viewer示例ExtJS应用程序。我似乎无法让app-test文件加载应用程序。
这是我的app-test.js
Ext.Loader.setConfig({ enabled : true });
var Application = null;
Ext.onReady( function() {
Application = Ext.create('app', {
name: 'FV',
controllers: [
'Articles'
],
launch: function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
jasmineEnv.execute();
}
});
});
这是app.js
Ext.application({
name: 'FV',
paths: {
'Ext.ux': '../../../examples/ux/'
},
controllers: [
'Articles',
'Feeds'
],
autocreateViewport: true
});
并且,如果这可能是问题的一部分,我的文件夹结构如下:
FV/
- app/
- app-test/
- resources/
- specs/
- app.js
- app-test.js
- run-test.html
我看到应用程序已正确加载的测试失败。 Chrome的开发工具向我展示了两个错误。第一个是XMLHttpRequest无法加载,第二个是Uncaught TypeError:对象不是在app-test.js的第三行抛出的函数
我觉得我可能错过了非常简单的事情。
非常感谢任何帮助!
答案 0 :(得分:3)
我终于开始工作了。这是我修改过的app-test.js
Ext.Loader.setConfig({ enabled : true });
Ext.ns('FV');
Ext.application({
name: 'FV',
appFolder: 'app',
controllers: ['Articles'],
autoCreateViewport: false,
launch: function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
jasmineEnv.execute();
}
});
考虑到这与Sencha文档中的教程有多么不同,以及自1.1.0(这是他们的教程使用的版本)以来Jasmine的变化有多少,它绝对是他们进行更新的时候了。