在 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 :
如果不使用 TFS 2015 或更高版本:
目前,无法通过 Web 界面创建普通 TFS 查询,也无法 API 调用或自定义编码来获取属于特定测试套件的测试用例列表。 support-querying-for-all-test-cases-in-a-specifed
"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 将其作为标签添加到测试用例中。
使用 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 :
如果不使用 TFS 2015 或更高版本:
目前,无法通过 Web 界面创建普通 TFS 查询,也无法 API 调用或自定义编码来获取属于特定测试套件的测试用例列表。 support-querying-for-all-test-cases-in-a-specifed
"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 将其作为标签添加到测试用例中。