Obtener todos los casos de prueba en un TestSet no pueden devolver todos los casos de prueba V2.0

StackOverflow https://stackoverflow.com//questions/20004160

  •  20-12-2019
  •  | 
  •  

Pregunta

Tengo un conjunto de pruebas que contiene más de 200 casos de prueba.Estoy tratando de buscar todos los casos de prueba utilizando el código a continuación.Sin embargo, ninguna de las configuraciones funciona

testSet.getCollection('TestCases').load({
    limit: Infinity,
    scope:this,
    callback: function(testCases, operation, success) {


    }
});

¿Fue útil?

Solución

También puede intentar pasar su configuración al método GetCollection en su lugar.Creo que hay algunos errores que los pasan directamente en carga.He tenido buena suerte haciendo algo como esto:

testSet.getCollection('TestCases', {
    limit: Infinity,
    autoLoad: true
    listeners: {
        load: function(store, records) {
            //process testcases
        },
        scope: this
    }
});

Otros consejos

Aquí hay un ejemplo de código que construye una cuadrícula de conjuntos de pruebas con casos de prueba asociados.Los testsets se filtran por liberación:

Ext.define('CustomApp', {
    extend: 'Rally.app.TimeboxScopedApp',
    componentCls: 'app',
    scopeType: 'release',

    addContent: function() {
        this._makeStore();
    },

   onScopeChange: function() {
        this._makeStore();
    },

    _makeStore: 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){
        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'),  //required to make FormattedID clickable
                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);
 },

      _createTestSetGrid: function(testsets) {
        var testSetStore = Ext.create('Rally.data.custom.Store', {
                data: testsets,
                pageSize: 100,  
            });
        if (!this.down('#testsetgrid')) {
         this.grid = this.add({
            xtype: 'rallygrid',
            itemId: 'testsetgrid',
            store: testSetStore,
            columnCfgs: [
                {
                   text: 'Formatted ID', dataIndex: 'FormattedID', xtype: 'templatecolumn',
                    tpl: Ext.create('Rally.ui.renderer.template.FormattedIDTemplate')
                },
                {
                    text: 'Test Case Count', dataIndex: 'TestCaseCount',
                },
                {
                    text: 'Test Case Status', dataIndex: 'TestCaseStatus',flex:1
                },
                {
                    text: 'TestCases', dataIndex: 'TestCases',flex:1, 
                    renderer: function(value) {
                        var html = [];
                        Ext.Array.each(value, function(testcase){
                            html.push('<a href="' + Rally.nav.Manager.getDetailUrl(testcase) + '">' + testcase.FormattedID + '</a>')
                        });
                        return html.join(', ');
                    }
                }
            ]
        });
         }else{
            this.grid.reconfigure(testSetStore);
         }
    }
});

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top