我正在尝试使用 TFS API 来扫描我所有的错误工作项,并查看是否有任何没有关联的测试用例。我正在考虑使用 bug.Fields[26].Value == 0 来查看有多少相关链接,但我不确定测试用例是否是唯一被认为是相关链接的东西。

如果没有与该错误相关的测试用例,我想为其创建一个测试用例。我已经知道如何创建测试用例,但不知道如何创建与现有错误相关的测试用例。

有人可以告诉我如何做这些事情吗?谢谢。

最佳答案

链接到您的 Bug 的任何工作项都被视为 RelatedLink 。检查 here 中派生自 Link 的可用类型,以及@bryanmac 的 this SO-post。通过以下内容,您应该能够检索错误 123456 的每个相关工作项的类型。

using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;

namespace WorkItemLinksOfAWorkItem
{
    class Program
    {
        static void Main()
        {
            TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSURI"));

            var workItemStore = (WorkItemStore)teamProjectCollection.GetService(typeof(WorkItemStore));

            var workItem = workItemStore.GetWorkItem(123456);
            LinkCollection links = workItem.Links;
            foreach (Link link in links)
            {
                if (!(link is RelatedLink))
                    continue;

                var relLink = link as RelatedLink;
                var relatedWI = workItemStore.GetWorkItem(relLink.RelatedWorkItemId);
                Console.WriteLine(relatedWI.Id+" "+relatedWI.Type.Name);
            }
        }
    }
}

(我最初在 Scrum Dashboard 中找到了这些来源的基础)

为了为您的错误 123456 生成新的测试用例,您可以尝试以下操作:
var workItemTypes = workItemStore.Projects["TeamProjectName"].WorkItemTypes;
var workItem = new WorkItem(workItemTypes["Test Case"]) {Title = "Programmatically constructed via TFS-SDK"};

var relatedLinkToBug = new RelatedLink(123456);
var links = workItem.Links;
links.Add(relatedLinkToBug);

workItem.Save();

关于c# - 如何使用 API 查找给定错误的 TFS 测试用例数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11640585/

10-13 02:33