C# TFS API добавляет тестовые примеры в набор на основе требований

Я пытаюсь создать тестовые примеры и добавить их в существующий набор на основе требований.

ниже приведен код, который я пытаюсь использовать, но я могу создавать тестовые примеры, но не могу добавить их в набор на основе требований.

namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {

        Uri tfsUri = new Uri("http://tfsint:8080/tfs/sandbox/");
        string teamProjectName = "Scrum Custom";
        TfsTeamProjectCollection Tfs = new TfsTeamProjectCollection(tfsUri);

        ITestManagementService service = (ITestManagementService)Tfs.GetService(typeof(ITestManagementService));
        ITestManagementTeamProject TestProject = (ITestManagementTeamProject)service.GetTeamProject(teamProjectName);
        //ITestPlanCollection testPlanCollection = TestProject.TestPlans.Query("SELECT * FROM TestPlan");
        int myPlansId = 2009;

        ITestPlan foundPlan = TestProject.TestPlans.Find(myPlansId);
        Console.WriteLine("Got Plan {0} with Id {1}",
            foundPlan.Name, foundPlan.Id);

        //ITestSuiteBase newSuite = TestProject.TestSuites.Find(myTestSuiteId);

У меня возникли проблемы с IRequirementTestSuite , возможно, синтаксис отличается

        int myTestSuiteId = 2037;
        IRequirementTestSuite newSuite = TestProject.TestSuites.Find(myTestSuiteId);



        ITestConfiguration defaultConfig = null;

        foreach (ITestConfiguration config in TestProject.TestConfigurations.Query(
            "Select * from TestConfiguration"))
        {
            defaultConfig = config;
            break;
        }
        ITestCase tc = TestProject.TestCases.Create();
        tc.Title = "SAF test";
        tc.Area = "Scrum Custom\\Selenium Integration POC";
        //tc.Links.Add
        tc.Save();
        System.Windows.Forms.MessageBox.Show("test case id = " + tc.Id);

        IdAndName defaultConfigIdAndName = new IdAndName(
            defaultConfig.Id, defaultConfig.Name);

как добавить тестовый пример в IRequirementTestSuite здесь

        foundPlan.Save();
    }
}

}


person testerBDD    schedule 07.04.2016    source источник
comment
если вы используете TFS2015, вы можете использовать REST API, чтобы добавить тестовый пример в набор тестов: ссылка   -  person ds19    schedule 07.04.2016


Ответы (1)


Проверьте этот случай:

Наборы тестов, основанные на требованиях, являются динамическими. Связь между тестовым набором и требованием определяется наличием надлежащей ссылки Tests/Tested By Work Item, поэтому вам необходимо добавить такую ​​ссылку.

testCase = CreateTestCase(this.TestProject, tci.Title, tci.Description);
if (this.BaseWorkingSuite is IRequirementTestSuite)
    TFS_API.AddTestCaseToRequirementSuite(this.BaseWorkingSuite as IRequirementTestSuite, testCase);
else if (this.BaseWorkingSuite is IStaticTestSuite)
    (this.BaseWorkingSuite as IStaticTestSuite).Entries.Add(testCase);
this.Plan.Save();

И важный метод:

public static void AddTestCaseToRequirementSuite(IRequirementTestSuite reqSuite, ITestCase testCase)
{
    WorkItemStore store = reqSuite.Project.WitProject.Store;
    WorkItem tfsRequirement = store.GetWorkItem(reqSuite.RequirementId);

    tfsRequirement.Links.Add(new RelatedLink(store.WorkItemLinkTypes.LinkTypeEnds["Tested By"], testCase.WorkItem.Id));
    tfsRequirement.Save();

    reqSuite.Repopulate();
}
person Cece Dong - MSFT    schedule 08.04.2016