Wie finde ich in TFS alle Testfälle in einer Testsuite mit einer Abfrage (C#)?

Wie finde ich in TFS alle Testfälle in einer Testsuite mit einer Abfrage (C#)?

Leider werden zwischen Testplänen, Suiten und Fällen keine Arbeitselementverknüpfungen erstellt. Obwohl es sich also um Arbeitsaufgaben handelt, haben sie keine Verknüpfungen. Das bedeutet, dass eine Standardabfrage nicht möglich ist.

Eine Problemumgehung besteht darin, alle Testfälle in einer Suite mit dem Namen der Suite zu markieren. Sie können dann eine Abfrage verwenden, die nach den Arbeitselement-Tags filtert.

Sie können sogar noch weiter gehen und die Erstellung von Tags automatisieren, indem Sie einige magische Web-Hooks und Azure-Funktionen (oder eine andere gehostete API) verwenden. Auf diese Weise können Sie einen Web-Hook erstellen, der auf die Erstellung (oder Aktualisierung) von Testfällen lauscht. Indem Sie einen Teil des in den anderen Beiträgen erwähnten Codes verwenden, können Sie die Testsuite des Testfalls abrufen und dann die REST-API verwenden, um sie als Tag zum Testfall hinzuzufügen.


Möglicherweise müssen Sie diese Schnittstelle ITestSuiteBase verwenden .

AllTestCases 

     Gets the read-only collection of test cases for this suite and all hierarchical children.

TestCases 

     Gets a read-only collection of test cases.

Weitere Informationen von MSDN

Hier ist ein Beispielcode:

public static List<TestCase> GetAllTestCaseFromSuite(ITestPlan testPlan, int suiteId, bool includeExecutionStatus = true)
{
    List<TestCase> testCases = new List<TestCase>();
    testPlan.Refresh();
    ITestSuiteBase currentSuite = testPlan.Project.TestSuites.Find(suiteId);
    currentSuite.Refresh();
    foreach (var currentTestCase in currentSuite.TestCases)
    {
        TestCase testCaseToAdd = new TestCase(currentTestCase.TestCase, currentSuite, testPlan, includeExecutionStatus);
        if (!testCases.Contains(testCaseToAdd))
        {
            testCases.Add(testCaseToAdd);
        }
    }
    log.InfoFormat("Load all test cases in the suite with Title= \"{0}\" id = \"{1}\"", currentSuite.Title, currentSuite.Id);
    return testCases;
}

Weitere Details finden Sie in diesem Blog:Manage TFS Test Cases C# Code