【发布时间】:2020-04-03 16:19:55
【问题描述】:
我想自动化一些与 ExtJS 6.7 应用程序上的数据绑定相关的测试。 我可以在“完整应用程序”中看到绑定完美地工作(显然在测试中也可以从屏幕截图中看到),但我为了自动化测试我不知道我可以听哪些事件。
绑定过程显然是异步的,我需要在检查值之前“等待”它完成,但我在 Sencha 文档中找不到任何内容。
实际上,我需要一个挂钩到某个状态,在该状态下我可以“假设”绑定已完成,因为出于测试目的,我还想涵盖绑定未完成的情况(即字段名称中的拼写错误) , 绑定的 json 结构的变化等)。
查看截图下方的代码,提前致谢!
viewController.js:
Ext.define('Pms.view.test.viewController',
{
extend: 'Ext.app.ViewController',
xtype: 'controller.controller'
});
viewModel.js:
Ext.define('Pms.view.test.viewModel',
{
extend: 'Ext.app.ViewModel',
data: {
windowTitle: 'Title bound!'
}
});
form.js:
Ext.define('Pms.view.test.form',
{
extend: 'Ext.window.Window',
requires: ['Pms.view.test.viewController','Pms.view.test.viewModel'],
controller: 'controller',
viewModel: { type: 'Pms.view.test.viewModel' },
bind: {
title: '{windowTitle}'
}
});
form.spec.js:
Ext.Loader.syncRequire([
'Pms.view.test.form',
'Pms.view.test.viewModel'
]);
describe('Pms.view.test.form', function() {
it('Bound',
function() {
var w = Ext.create('Pms.view.test.form');
w.setViewModel(Ext.create('Pms.view.test.viewModel'));
w.show();
// the following line is expected to be run in the asynchronous hook I'm looking for
expect(w.title).to.be('Title bound!');
});
});
【问题讨论】:
标签: extjs mocha.js extjs6 extjs6-classic karma-mocha