2016-05-09 35 views

回答

0

是,道場發佈了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

請注意,使用小部件節點和使用小部件本身是有區別的。例如,在一個Command鏈中調用'.getProperty('value')'的行爲與調用'dijit.getProperty('yourWidgetId','value')'作爲'then'回調的行爲大不相同。 – jason0x43

+0

我的小部件沒有固定的id我可以安全地傳遞給helpers,只是一個固定的data-dojo-id,所以我最終爲它們添加了一個lang.getObject行 – Pier