在TFS API中将测试用例添加到ITestSuiteBase
本文关键字:添加 ITestSuiteBase 测试用例 TFS API | 更新日期: 2023-09-27 18:26:20
我正在使用TFS API,并且遇到了ITestSuiteBase和IRequirementTestSuite的问题。我努力在IStaticTestSuite中轻松创建一个新的测试用例:
IStaticTestSuite workingSuite = this.WorkingSuite as IStaticTestSuite;
testCase = CreateTestCase(this.TestProject, tci.Title, tci.Description);
workingSuite.Entries.Add(testCase);
this.Plan.Save();
但是,此解决方案不适用于需求测试套件或ITestSuiteBase。我认为可行的方法是:
ITestcase testCase = null;
testCase = CreateTestCase(this.TestProject, tci.Title, tci.Description);
this.WorkingSuite.AllTestCases.Add(testCase);
this.WorkingSuite.TestCases.Add(testCase);
this.Plan.Save();
但这种方法实际上并没有将测试用例添加到套件中。然而,它确实将测试用例添加到了计划中。我可以查询创建的测试用例,但它并没有像预期的那样显示在套件中,甚至在之后的代码中立即显示。刷新工作套房没有任何好处。
以下包含附加代码:
public static ITestCase CreateTestCase(ITestManagementTeamProject project, string title, string desc = "", TeamFoundationIdentity owner = null)
{
// Create a test case.
ITestCase testCase = project.TestCases.Create();
testCase.Owner = owner;
testCase.Title = title;
testCase.Description = desc;
testCase.Save();
return testCase;
}
有人能够成功地将测试用例添加到需求测试套件或ITestSuiteBase中吗?
Giulio的链接被证明是实现的最佳方式
testCase = CreateTestCase(this.TestProject, tci.Title, tci.Description);
if (this.BaseWorkingSuite is IRequirementTestSuite)
TFS_API.AddTestCaseToRequirementSuite(this.BaseWorkingSuite as IRequirementTestSuite, testCase);
else if (this.BaseWorkingSuite is IStaticTestSuite)
(this.BaseWorkingSuite as IStaticTestSuite).Entries.Add(testCase);
this.Plan.Save();
和重要的方法:
public static void AddTestCaseToRequirementSuite(IRequirementTestSuite reqSuite, ITestCase testCase)
{
WorkItemStore store = reqSuite.Project.WitProject.Store;
WorkItem tfsRequirement = store.GetWorkItem(reqSuite.RequirementId);
tfsRequirement.Links.Add(new RelatedLink(store.WorkItemLinkTypes.LinkTypeEnds["Tested By"], testCase.WorkItem.Id));
tfsRequirement.Save();
reqSuite.Repopulate();
}
这是意料之中的事。
静态测试套件是。。。静态的,而基于需求的测试套件是动态的。测试用例和需求之间的关系取决于是否存在适当的Tests/Tested by Work Item链接,因此您需要添加这样的链接。
有关示例代码,请参阅不能将测试用例添加到IRequirementTestSuite类型中。
小提示:你不能复制链接,所以如果测试用例不是新的,你可能必须检查是否存在。