Как разобрать дерево из плана тестирования TFS
Добрый день!
Я пытаюсь разобрать дерево по плану тестирования TFS 2010.
Итак, я могу получить план тестирования:
var planOld = helperOldProject.GetTestPlan("TestProject", 10); // 10- id of test plan
ITestManagementTeamProject project1 = helperNewProject.GetProject(sourceserverurl, sourceproject);
Затем я создаю новый план тестирования программно:
//Create a Test Plan Programmatically
ITestPlan planNew = project1.TestPlans.Create();
planNew.Name = planOld.Name;
planNew.StartDate = DateTime.Now;
planNew.EndDate = DateTime.Now.AddMonths(2);
planNew.AreaPath = "TestArea";
planNew.Description = planOld.Description;
planNew.State = planOld.State;
// other attributes: plan.AreaPath, plan.Description,plan.State
planNew.Save();
And then i need to parse RootSuite tree:
var suiteOld = planOld.RootSuite;
// Parse Root:
IStaticTestSuite suiteNew = project1.TestSuites.CreateStatic();
suiteNew.Title = suiteOld.Title;
planNew.RootSuite.Entries.Add(suiteNew);
foreach (var tcc in suiteOld.TestCases)
{
var tc = helperOldProject.teamProject.TestCases.Find(tcc.Id);
var tc2 = helperNewProject.teamProject.TestCases.Create();
tc2.Description = tc.Description;
tc2.Owner = tc.Owner;
tc2.Title = tc.Title;
tc2.Save();
suiteNew0.Entries.Add(tc2);
planNew.Save();
}
И тогда мне нужно разобрать SubTree:
CreateSubTree(ref project1,ref planOld,ref planNew,ref helperOldProject,ref helperNewProject);
public static void CreateSubTree(ref ITestManagementTeamProject project1,ref ITestPlan planOld,
ref ITestPlan planNew,ref Helper helperOldProject,ref Helper helperNewProject)
{
Console.WriteLine("SubSuites.Count: " + planOld.RootSuite.SubSuites.Count);
foreach (ITestSuiteBase suiteOld in planOld.RootSuite.SubSuites)
{
IStaticTestSuite suiteNew = project1.TestSuites.CreateStatic();
// planNew.RootSuite.SubSuites.Add(suiteNew);
IStaticTestSuite staticSuiteOld = suiteOld as IStaticTestSuite;
foreach (ITestSuiteEntry tccOld in staticSuiteOld.TestCases)
{
suiteNew.Title = suiteOld.Title;
planNew.RootSuite.Entries.Add(suiteNew);
//planNew.RootSuite.SubSuites.Add(suiteNew);
var tc = helperOldProject.teamProject.TestCases.Find(tccOld.Id);
var tc2 = helperNewProject.teamProject.TestCases.Create();
tc2.Description = tc.Description;
tc2.Owner = tc.Owner;
tc2.Title = tc.Title;
tc2.Save();
suiteNew.Entries.Add(tc2);
}
Console.WriteLine(suiteOld.TestSuiteEntry);
}
}
Итак, я анализирую новый элемент одного поддерева, но я знаю, что после этого узла у меня есть еще один узел.
Корень: элемент1, элемент2, элемент3...
--- Узел1: элемент1, элемент2....
-------- Узел2: элемент1, элемент2...
Но planOld.RootSuite.SubSuites.Count==1; И я вижу элементы только Root и Node1.
И еще одна проблема заключается в создании нового поддерева: этот код не работает:
planNew.RootSuite.SubSuites.Add(suiteNew); // cannot add,remove item error.
Пожалуйста, помогите мне разобрать это! И почему я не могу добавить подузел в дереве?
Спасибо!
1 ответ
Вот как вы можете создать новый набор тестов в соответствии с планом тестирования
ITestManagementTeamProject teamProject = testManagementService.GetTeamProject(projectId);
ITestPlan testplan= teamProject.TestPlans.Find(testplanId);
IStaticTestSuite newSuite = teamProject.TestSuites.CreateStatic();
newSuite.Title = "new title";
testplan.RootSuite.Entries.Add(newSuite);
testplan.Save();
По первому вопросу я не очень понимаю, может быть, вы можете объяснить больше.