In TFS, how do I find all Test Cases in a Test Suite with a query (C#)?

If you are using TFS 2015 or higher,

you can check this link :

  1. usage

  2. TestCaseExplorer Tool

  3. list-bugs-and-the-test-cases-that-test-them enter image description here

if Not using TFS 2015 or higher :

For now, there is no way to create ordinary TFS query via Web interface and not API call or custom coding to get list of Test Cases belongs to a specific Test Suite. support-querying-for-all-test-cases-in-a-specifed

Or try old tool : test-plans-test-suites-test-cases-mapping


You may need to use this Interface ITestSuiteBase.

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.

More info from MSDN

Here is a example code:

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;
}

More details you can refer this blog: Manage TFS Test Cases C# Code


Unfortunately, there are no work item links created between Test Plans, Suites and Cases. So although they are Work Items, they don't have links. This means that a default query isn't possible.

A work around is tagging all test cases in a suite with the name of the suite. You can then use a query that filters on the work item tags.

You can go even further and automate the creation of tags by using some Web Hooks and Azure Functions (or some other hosted API) magic. This allows you to create a Web Hook that listens for the creation (or updates) to Test Cases. By using some of the code mentioned in the other posts you can retrieve the Test Suite of the Test Case and then use the REST API to add it as a Tag to the Test Case.