检索与发布相关的测试用例

时间:2014-04-17 14:46:09

标签: rally appsdk2

如何检索与某个版本相关的测试用例。

我想检索有关与Release相关的测试用例的数据。 但测试用例没有提交Release。顺便说一句,测试用例有WorkProduct它是为这个测试用例创建的。但是,当我试图从测试用例对象中获取WorkProdut时, 除了美国名字之外,我没有任何有用的信息,实际上我可以使用此名称获取合法的美国对象。

但看起来很难......

1 个答案:

答案 0 :(得分:0)

TestCases通过TestSet安排进入迭代和发布。我在this github repo中有一个应用程序,用于构建计划发布的故事网格,以及计划发布的测试集和相关的测试用例。

以下是加载TestSet对象的代码片段及其TestCases集合,然后TestCases集合是水合的(因为这不能在单个请求中完成):

    _makeAnotherStore: function(){
        Ext.create('Rally.data.WsapiDataStore', {
                model: 'TestSet',
                fetch: ['FormattedID', 'TestCases', 'TestCaseStatus'],  
                pageSize: 100,
                autoLoad: true,
                filters: [this.getContext().getTimeboxScope().getQueryFilter()],
                listeners: {
                    load: this._onTestSetsLoaded,
                    scope: this
                }
            }); 
    },
     _onTestSetsLoaded: function(store, data){
        console.log('store...',store);
    console.log('data...',data);
        var testSets = [];
        var pendingTestCases = data.length;
         console.log(data.length);
         if (data.length ===0) {
            this._createTestSetGrid(testSets);  
         }
         Ext.Array.each(data, function(testset){ 
            var ts  = {
                FormattedID: testset.get('FormattedID'),   
                _ref: testset.get('_ref'),  
                TestCaseStatus: testset.get('TestCaseStatus'),
                TestCaseCount: testset.get('TestCases').Count,
                TestCases: []
            };
            var testCases = testset.getCollection('TestCases');
            testCases.load({
                                fetch: ['FormattedID'],
                                callback: function(records, operation, success){
                                    Ext.Array.each(records, function(testcase){
                                        ts.TestCases.push({_ref: testcase.get('_ref'),
                                                        FormattedID: testcase.get('FormattedID')
                                                    });
                                    }, this);
                                    --pendingTestCases;
                                    if (pendingTestCases === 0) {
                                        this._createTestSetGrid(testSets);
                                    }
                                },
                                scope: this
                            });
            testSets.push(ts);
     },this);
 }