0
有沒有辦法通過data-dojo-id在獨立服務器上運行的Intern功能測試中獲取對小部件實例的引用?通過data-dojo-id在Intern-runner功能測試中查找?
有沒有辦法通過data-dojo-id在獨立服務器上運行的Intern功能測試中獲取對小部件實例的引用?通過data-dojo-id在Intern-runner功能測試中查找?
是,道場發佈了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。
請注意,使用小部件節點和使用小部件本身是有區別的。例如,在一個Command鏈中調用'.getProperty('value')'的行爲與調用'dijit.getProperty('yourWidgetId','value')'作爲'then'回調的行爲大不相同。 – jason0x43
我的小部件沒有固定的id我可以安全地傳遞給helpers,只是一個固定的data-dojo-id,所以我最終爲它們添加了一個lang.getObject行 – Pier