我需要一个应用程序,其中我的测试用例由TestFolders显示,遵循testFolders层次结构。例如:
TestFolder1 - SubTestFolder1.1 -- TestCase111 -- TestCase112 -- TestCase113 - SubTestFolder1.2 -- TestCase121 -- TestCase222 TestFolder2 -- TestCase21 -- TestCase22
使用可扩展的TestFolders ...我确实找到了UserStories的一些例子,但它不适用,因为它使用特定的对象作为rallyuserstorytree,我明白我应该构建自己的树模型?但我是拉力赛的初学者,我真的不明白该怎么做。内联帮助没有这样的例子...
这给了我一个空白页面,我的回调从未被加载,并且它导致错误“Uncaught TypeError:无法读取未定义的属性'长度',我不明白......
var myTreeStore = Ext.create('Rally.data.wsapi.TreeStore', {
model : 'TestFolder',
listeners: {
load: function(store, data, success){
console.log(' in load calback');
//process data
},
scope: this,
},
autoLoad : true,
fetch: [ 'FormattedID', 'TestCases' ,'Description'],
limit: records_nbr,
remoteSort : true ,
sorters: ['FormattedID'],
pagesize: records_nbr,
autoLoad: true,
});
我尝试了另一种方式,这个代码例如:
_createTree: function(){
var me = this ;
var myTree = Ext.create('Ext.Container', {
itemID: 'myTree',
items: [{
xtype: 'rallytree',
topLevelModel: 'TestFolder',
childModelTypeForRecordFn: function(record){
if(record.get('Children') && record.get('Children').length > 0){
return 'TestCase';
} else {
return 'TestFolder';
}
},
givenAParentRecordWhatIsTheAttributeConnectingAChildToThisParentFn: function(record){
if(record.get('Children') && record.get('Children').length > 0){
return 'Parent';
} else {
return 'WorkProduct';
}
},
canExpandFn: function(record){
return true;
}
}
],
renderTo: Ext.getBody().dom,
});
this.add(myTree);
},
但它只显示顶级TestFolders而无法扩展它们。我在哪里可以找到在层次结构网格中显示TestFolders和TestCases的应用程序的例子?
答案 0 :(得分:1)
回答自己...
第二个示例基于您在SDK源代码中找到的示例(https://rally1.rallydev.com/apps/2.0rc2/sdk-debug.js)。但是sdk被窃听或示例错误,因为它检查
if(record.get('Children') && record.get('Children').length > 0){
并且无论TestFolder是否为空,Children
属性始终为空字符串。对于一个给定的对象,没有办法知道它是否有孩子,或者只是在抚摸他的属性。
如果我用
之类的东西替换上一行if(record.get('_type') === 'testfolder'){
它有效,但我仍然没有看到TestCases,因为对于给定的TestFolder对象,如果附加了测试用例,我无法知道查看其属性...对于“Children”属性,{{ 1}} property也总是一个空字符串。另一个错误?我没有找到向RallyDev提交错误的方法: - (
答案 1 :(得分:1)
2.0rc2中包含的Rally.data.wsapi.TreeStore仍然非常原始。我们目前正致力于更好地支持分层网格数据。您上面发布的示例很可能是与WSAPI版本1.x一起使用的,它仍然可以在一个请求中检索子集合。 2.0rc2强制使用WSAPI 2.x,它返回一个集合摘要对象(并需要一个额外的填充请求)。
以下内容应该更适合您:
record.get('TestCases') && record.get('TestCases').Count > 0