在 TFS API 中将测试用例添加到 ITestSuiteBase

2024-04-04

我正在使用 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 中?


事实证明,朱利奥的链接是做到这一点的最佳方法

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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 TFS API 中将测试用例添加到 ITestSuiteBase 的相关文章

  • 如何捕获未发送到 stdout 的命令行文本?

    我在项目中使用 LAME 命令行 mp3 编码器 我希望能够看到某人正在使用什么版本 如果我只执行 LAME exe 而不带参数 我会得到 例如 C LAME gt LAME exe LAME 32 bits version 3 98 2
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • ComboBox DataBinding 导致 ArgumentException

    我的几个类对象 class Person public string Name get set public string Sex get set public int Age get set public override string
  • 如何判断计算机是否已重新启动?

    我曾经使用过一个命令行 SMTP 邮件程序 作为试用版的限制 它允许您在每个 Windows 会话中最多接收 10 封电子邮件 如果您重新启动计算机 您可能还会收到 10 个以上 我认为这种共享软件破坏非常巧妙 我想在我的应用程序中复制它
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • File.AppendText 尝试写入错误的位置

    我有一个 C 控制台应用程序 它作为 Windows 任务计划程序中的计划任务运行 此控制台应用程序写入日志文件 该日志文件在调试模式下运行时会创建并写入应用程序文件夹本身内的文件 但是 当它在任务计划程序中运行时 它会抛出一个错误 指出访
  • 源代码管理无法启动手动合并工具,为什么?

    我曾经执行过tf 合并 Alpha Dev Alpha Main recursive从命令提示符将更改从 Dev 分支合并到 Main 分支 在发生冲突时 它会显示 解决冲突 窗口 我们可以通过选择选项手动解决冲突在合并工具中合并更改 直到
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • Unity:通过拦截将两个接口注册为一个单例

    我有一个实现两个接口的类 我想对该类的方法应用拦截 我正在遵循中的建议Unity 将两个接口注册为一个单例 https stackoverflow com questions 1394650 unity register two inter
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 使用 omp_set_num_threads() 将线程数设置为 2,但 omp_get_num_threads() 返回 1

    我有以下使用 OpenMP 的 C C 代码 int nProcessors omp get max threads if argv 4 NULL printf argv 4 s n argv 4 nProcessors atoi argv
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke

随机推荐

  • 如何在 WPF 中的 StreamGeometry 中绘制完整的椭圆?

    中唯一的方法是StreamGeometryContext似乎与椭圆相关的是ArcTo方法 不幸的是 它主要用于连接线条而不是绘制椭圆 特别地 圆弧的位置由起点和终点确定 对于完整的椭圆 两者显然重合 并且确切的方向变得不确定 到目前为止 我
  • 如何允许数组具有强参数

    我有一个功能正常的 Rails 3 应用程序 它使用 has many through 关联 但它不是 因为我将其重新制作为 Rails 4 应用程序 让我可以保存 Rails 4 版本中关联模型的 id 这三个相关模型对于两个版本来说是相
  • 在 MS Visual C++ 中启用 VLA(可变长度数组)?

    如何启用 VLA C99 中定义的可变长度数组 MS Visual C 中的使用 或者根本不可能 是的 我知道 C 标准基于 C89 并且 VLA 在 C89 标准中不可用 因此在 C 中不可用 但 MSVC 也应该是 C 编译器 可以使用
  • Knockout无法识别手动点击

    这是样本http jsfiddle net HhXGH 57 http jsfiddle net HhXGH 57 我正在通过 jquery 单击单选按钮 但 knockout js 无法识别它 它仍然显示第一个单击的值 p Send me
  • PDO 存储过程返回值

    我正在使用返回错误代码的 SQL Server 存储过程 这是 SP 的一个非常简单的片段 DECLARE ret int BEGIN SET ret 1 RETURN ret END 我可以使用 mssql 扩展获取返回值 mssql b
  • 用于将十进制转换为任意基数(从 2 到 36)的 C 代码

    我最近刚刚开始学习 C 我写了一个非常短的程序 可以在十进制和二进制之间进行转换 我想尝试编写一个在十进制和任何基数 最多 36 位 之间转换的代码 然而 我的代码只是打印出垃圾 include
  • 如何使用聚合物提交表格?

    我有这个聚合物接触元件
  • Android Html.fromHtml 耗时太长

    如果我该怎么办tv setText Html fromHtml text 时间太长 UI 挂起 如果我可以用线程来做 你能提供一个例子吗 private Handler mHandler new Handler void handleMes
  • 使用 System.IO.File 辅助方法的“顺序”文件 I/O 安全吗?

    我刚刚看到这个问题 在 C 中的 File 类上使用静态方法安全吗 https stackoverflow com q 32413634 1207195 总结一下OP有一个IOException因为该 ASP NET 代码片段中正在使用文件
  • Freetts 无法使用外部扬声器

    我在我的 java 应用程序中使用了 Freetts jar 文件来公布令牌编号 我的应用程序在我的笔记本电脑中运行良好 但在具有外部扬声器的台式机中无法运行 我得到一个空指针异常 注意 我的两台计算机都使用 Windows 7 下面的代码
  • PHP DOMDocument saveHTML 未正确编码西里尔字母

    I use DOMDocument操作 html 和 php 7 问题是文本在页面上显示良好 西里尔文 但是当我转到 查看 HTML 页面源代码 时 情况不太好 它显示如下 1047 1076 1077 1089 1100 1086 108
  • jQuery 提交 ajax 表单,带有 2 个提交按钮

    我试图实现以下目标 在 php 中我有一个这样的表单
  • 我可以将自定义对象发送到 Android Wear 吗?

    我刚刚学习如何为 Android Wear 进行开发 我已经为智能手表创建了一个全屏活动 在应用程序的移动部分中 我获取了一些 JSON 数据并从中创建了自定义对象列表 在我的移动应用程序上 我在 ListView 中显示这些对象的信息 在
  • 在 Rust 中将原始指针转换为 16 位 Unicode 字符到文件路径

    我正在用 Rust 编写的 DLL 替换用 C 编写的 DLL 目前DLL中的函数调用如下 BOOL calledFunction wchar t pFileName 我相信在这样的背景下wchar t是一个 16 位 Unicode 字符
  • 是否可以在Azure中运行npx工具来执行包

    是否可以运行npx工具来执行Azure App服务 Web应用程序 中的包 我在用 节点 v10 19 0 npm v6 13 4 如果我在本地计算机上浏览到 nodejs 我可以看到 npx cmd 工具 但如果我在 azure 中执行相
  • Textmate for Ruby 自动完成?

    我真的很习惯 Netbeans 的自动完成功能 在 Netbeans 中 当我键入 字符串 然后点击 点 时 它将打印出 String 类的方法列表 TextMate好像没有这个功能 您可以添加什么吗 会节省很多时间 而不是一直使用 ri
  • 在列表视图上方添加图像

    我想在列表视图上方添加图像视图 我知道在列表视图中添加部分听者 但我只是想节省时间 所以我使用图像视图作为列表视图标题 而不是使用 addSectionHeader 不幸的是我只是坚持使用一些 xml 属性 图像叠加在我的列表视图中 实际上
  • 我正在尝试获取 Apple Music API 的用户令牌,我已经从 python 终端命令生成了有效的开发人员令牌

    我正在我的 IOS 应用程序中第一次使用 Apple Music api 我已经在 python 命令的帮助下生成了开发者令牌 每次请求用户令牌时 我都会收到错误 请求用户令牌时发生错误 操作无法完成 SKErrorDomain 错误 7
  • 检查 arraytype 列是否包含 null

    我有一个数据框 其中有一列可以包含整数值的数组类型 如果没有值 它将只包含一个 并且它将是空值 重要的 注意该列不会为空 而是一个具有单个值的数组 无效的 gt val df DataFrame Seq foo Seq Some 2 Som
  • 在 TFS API 中将测试用例添加到 ITestSuiteBase

    我正在使用 TFS API 并遇到了 ITestSuiteBase 和 IRequirementTestSuite 的问题 我设法在 IStaticTestSuite 中轻松创建一个新的测试用例 IStaticTestSuite worki