Сплочение: создайте приложение, в котором пользовательские истории перечислены в сравнении с тестовыми примерами, с которыми они связаны.

Сплочение: создайте приложение, в котором пользовательские истории перечислены в сравнении с тестовыми примерами, с которыми они связаны.

Я использую rally.sdk, чтобы получить то же самое.

var queryConfig = { 
    type: 'HierarchicalRequirement',
    key : 'stories',
    fetch: 'Name,TestCaseStatus,TestCases'
};

var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__', 
    '__PROJECT_OID__',
    '__PROJECT_SCOPING_UP__', 
    '__PROJECT_SCOPING_DOWN__'); 
rallyDataSource.findAll(queryConfig, displayStory);

Когда я отображаю поле TestCases, оно дает мне [object Object]

Как мне получить доступ к TestCaseID. Я также попытался использовать несколько переменных, которые являются частью HierarchicalRequirement: c_TestCasesCreated. Это не работает и ничего не отображает.

Я не уверен, как я могу получить решение того же самого.

Пожалуйста помоги

Спасибо,

Патрик


person Patrick    schedule 21.06.2013    source источник


Ответы (1)


Поле TestCases в объекте User Story представляет собой набор тестовых случаев, и вам необходимо выполнить итерацию по коллекции, чтобы получить FormattedID и другие поля отдельных элементов коллекции. Вот код:

 var rallyDataSource = null;
 var iterDropdown = null;
 var table = null;

 function showUserStoriesTable(results) {

  for (var i=0; i < results.stories.length; i++) {
        var t = " ";
    if (results.stories[i].TestCases){
            console.log(results.stories[i].TestCases.length);
            for(var j = 0; j < results.stories[i].TestCases.length; j++){

                t += "  ";
                t += results.stories[i].TestCases[j].FormattedID;
            }
            results.stories[i].TestCases=t;
    }

   }

   var tableConfig = {
     columnKeys : ['FormattedID', 'Name', 'TestCases' ],
     columnWidths : ['80px', '360px', '400px']
   };
   table = new rally.sdk.ui.Table(tableConfig);
   table.addRows(results.stories);
   table.display(document.getElementById('stories'));
 }

function onIterationSelected() {
   if(table) {
    table.destroy();
   }
   var queryConfig = {
     type : 'hierarchicalrequirement',
     key : 'stories',
    fetch: 'FormattedID,Name,TestCases',
     query: '(Iteration.Name = "' + iterDropdown.getSelectedName() + '")',
     order: 'Rank'
  };
   rallyDataSource.findAll(queryConfig, showUserStoriesTable);
 }

 function onLoad() {
   // rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__','__PROJECT_OID__','__PROJECT_SCOPING_UP__','__PROJECT_SCOPING_DOWN__');
rallyDataSource = new rally.sdk.data.RallyDataSource('111111','222222','false','false');  //IF RUNNING OUSIDE OF RALLY USE OIDs
  var iterConfig = {};
   iterDropdown = new rally.sdk.ui.IterationDropdown(iterConfig, rallyDataSource);
   iterDropdown.display(document.getElementById("iterationDiv"), onIterationSelected);
 }

 rally.addOnLoad(onLoad);
person nickm    schedule 22.06.2013