2016-05-09 2 views

ответ

0

Да, 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.

+0

Обратите внимание, что существует разница между работой с узлом виджета и работой с самим виджетами. Например, вызов '.getProperty ('value')' в цепочке команд ведет себя по-разному, чем вызов 'dijit.getProperty ('yourWidgetId', 'value')' в качестве обратного вызова 'then'. – jason0x43

+0

Мои виджеты не имеют фиксированного идентификатора. Я могу безопасно переходить к помощникам, только фиксированный идентификатор data-dojo-id, поэтому я закончил добавление к ним строки lang.getObject – Pier