在 TFS 中,如何使用查询 (C#) 查找测试套件中的所有测试用例?

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

使用 Team Foundation Server,给定一个类型为 "Test Suite," 的工作项,我如何才能向 select 所有与该测试套件关联的测试用例编写查询?

您可能需要使用此界面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.

更多信息来自 MSDN

这是一个示例代码:

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

更多详情可以参考这篇博文:Manage TFS Test Cases C# Code

如果您使用的是 TFS 2015 或更高版本,

你可以检查这个 link :

  1. usage

  2. TestCaseExplorer Tool

  3. list-bugs-and-the-test-cases-that-test-them

如果不使用 TFS 2015 或更高版本:

目前,无法通过 Web 界面创建普通 TFS 查询,也无法 API 调用或自定义编码来获取属于特定测试套件的测试用例列表。 support-querying-for-all-test-cases-in-a-specifed

或尝试旧工具:test-plans-test-suites-test-cases-mapping

"Show tests from child suites" 是您想要的选项。 To see the screenshot click here。无需查询。 正如选项的名称所示,它列出了套件中的所有子测试。为此,您可能需要测试管理器 TFS 插件。

遗憾的是,在测试计划、套件和案例之间没有创建工作项链接。因此,尽管它们是工作项,但它们没有链接。这意味着默认查询是不可能的。

解决方法是 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

您可以更进一步,通过使用一些 Web Hooks and Azure Functions(或其他一些托管的 API)魔法自动创建标签。这允许您创建一个 Web Hook 来监听测试用例的创建(或更新)。通过使用其他帖子中提到的一些代码,您可以检索测试用例的测试套件,然后使用 REST API 将其作为标签添加到测试用例中。