1

Team Foundation Server からテスト ケースを削除するにはどうすればよいですか? 私は次のステップを踏みました:

  • まず、この Web サイトから Team Foundation Server Power Tools をインストールしました。

  • 次に、VS コマンド ウィンドウに次のように入力しました。 witadmin destroywi /collection: サーバー名 /id: テスト ケース ID

VS コマンド プロンプトから次のエラー メッセージを受け取りました: コマンド "witadmin" は無効です。

通常のユーザーとしてWindowsコマンドプロンプトからこのコマンドを実行しようとし、「管理者として実行」も選択しましたが、いずれの場合も「コマンド「witadmin」は無効です」という同じエラーメッセージが表示されます...

4

1 に答える 1

5

witadmin は TFS Power Tools の一部ではなく、Visual Studio およびチーム エクスプローラーの既定のインストールで、Visual Studio コマンド プロンプトから利用できるはずです。

何らかの理由で利用できない場合は、「c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE」または Visual Studio が別の場所にインストールされている場合は同等のパスで見つけることができます。

パラメータ名とパラメータ自体の間にスペースを入れてはいけません。複数の ID をカンマで区切って指定できます。

witadmin destroywi /collection:host\collection /id:3,5,7

OPからの新しい要件を含めるように編集

破棄する作業項目をより柔軟に決定する必要がある場合は、Team Foundation のクライアント API を使用する必要があります。以下のサンプルでは、​​チーム プロジェクトの名前と WIQL クエリの 2 つのパラメーターを受け取るコンソール アプリケーションを作成しました。

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

namespace DelWi {
    class Program {
        static void Main(string[] args) {
            var store = new WorkItemStore(args[0]);
            WorkItemCollection workItems = store.Query(args[1]);
            if (workItems.Count == 0) {
                Console.WriteLine("No work items with the specified criteria.");
            }
            var query = from workItem in workItems.Cast<WorkItem>()
                        select workItem.Id;
            foreach (var item in store.DestroyWorkItems(query)) {
                Console.WriteLine("{0}\t{1}", item.Id, item.Exception.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.Read();
        }
    }
}

コンパイルしたら、次のようなパラメーターを渡して呼び出すことができます。

DelWi.exe "host\defaultcollection" "SELECT * FROM WorkItems WHERE [System.TeamProject] = 'The Best Team Project Ever'  AND  [System.WorkItemType] = 'Test Case'  AND  [System.Id] > 34  AND  [System.Id] < 37"

ただし、クエリを正しく指定しないと、必要以上の作業項目が削除される可能性があるため、注意してください。

于 2012-06-28T19:55:32.327 に答える