3

TFS API を使用してすべてのバグ ワークアイテムをスキャンし、関連するテスト ケースがないかどうかを確認しようとしています。関連リンクがいくつあるかを確認するために使用することを考えていbug.Fields[26].Value == 0ましたが、テスト ケースだけが関連リンクと見なされるかどうかはわかりません。

バグに関連するテスト ケースがない場合は、テスト ケースを作成します。一般的なテスト ケースの作成方法は既に知っていますが、既存のバグに関連するものは知りません。

誰かがこれらのことを行う方法を教えてもらえますか? ありがとう。

4

1 に答える 1

3

バグにリンクされている作業項目はすべて と見なされますRelatedLink。から派生した利用可能なタイプについては、こちらを確認してください。また、@ bryanmac によるこのLinkSO-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);
            }
        }
    }
}

(私は元々、スクラム ダッシュボードでこれらのソースのベースを見つけていました)

バグ 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();
于 2012-07-25T08:50:35.987 に答える