如何从Team Foundation Server中删除测试用例?我采取了以下措施:
首先,我从this website安装了Team Foundation Server Power Tools。
第二次我在VS命令窗口中输入以下内容:witadmin destroywi / collection:服务器名称/ id:测试用例id
我从VS命令提示符处收到以下错误消息:命令“witadmin”无效。
我甚至尝试以普通用户的身份从Windows命令提示符运行此命令,并选择“以管理员身份运行”,但是在每种情况下我都会收到相同的错误消息,指出“命令”witadmin“无效”。
答案 0 :(得分:5)
witadmin不是TFS Power Tools的一部分,应该可以在Visual Studio命令提示符下使用Visual Studio和Team Explorer的默认安装程序。
如果由于任何原因它不可用,您应该能够在“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。在下面的示例中,我创建了一个控制台应用程序,它接收两个参数:Team Project的名称和WIQL查询:
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"
但请注意,因为如果您没有正确指定查询,最终可能会删除比您想要的更多的工作项。