Да, Dojo выпустила модуль dijit-intern-helper
, который вы можете включить в ваши тесты, чтобы помочь с этим:
define([
'intern!object',
'intern/chai!assert',
'intern/dojo/node!dijit-intern-helper/helpers/dijit',
'require'
], function (registerSuite, assert, dijit, require) {
var url = '../../index.html';
registerSuite({
name: 'Todo (functional)',
'get widget node': function() {
return this.remote
.get(require.toUrl(url))
.then(dijit.nodeById('yourWidgetId', 'rootNodeToLookUnder'))
.getProperty('value')
.then(function (val) {
assert.ok(val == 'Test :)');
});
}
});
});
Вы можете прочитать больше об этом на this Sitepen blog post или прямо на project Github page.
Обратите внимание, что существует разница между работой с узлом виджета и работой с самим виджетами. Например, вызов '.getProperty ('value')' в цепочке команд ведет себя по-разному, чем вызов 'dijit.getProperty ('yourWidgetId', 'value')' в качестве обратного вызова 'then'. – jason0x43
Мои виджеты не имеют фиксированного идентификатора. Я могу безопасно переходить к помощникам, только фиксированный идентификатор data-dojo-id, поэтому я закончил добавление к ним строки lang.getObject – Pier