【问题标题】:How to create test cases in VSTS in a programmatic manner?如何以编程方式在 VSTS 中创建测试用例?
【发布时间】:2017-12-11 14:26:02
【问题描述】:

我有一个使用 jasmine 框架编写的客户端(角度)应用程序的单元测试项目。

在 C# 单元测试项目中,可以将每个测试方法与 Visual Studio 测试资源管理器中的测试用例链接起来。

由于使用 jasmine 框架编写的客户端(角度)应用程序的单元测试项目中的测试方法/套件无法实现相同的测试方法/套件,因此我正在研究创建工具以在 VSTS 中创建测试用例的可能性通过编程。并将每个客户端单元测试方法映射到 VSTS 中的测试用例。

任何人都可以帮助我了解 API 和如何完成此操作的想法吗?

【问题讨论】:

  • 也许 T4 模板可以提供帮助?我们使用它们来动态创建单元和集成测试

标签: unit-testing visual-studio-2017 azure-devops azure-devops-rest-api


【解决方案1】:

用于测试管理的 REST API 非常广泛,并且在 VSTS 文档网站上进行了清晰的记录。

API 分为两部分:

  1. Test Management API 用于创建测试计划和测试套件并将项目链接在一起。
  2. Work Item API 用于创建和更新测试用例(本质上只是一个工作项)。

【讨论】:

    【解决方案2】:

    使用 REST API 来做:

    补丁https://[account].visualstudio.com/DefaultCollection/_apis/wit/workitems/[testcaseid]?api-version=1.0

    内容类型:application/json-patch+json

    主体:

    [
      {
        "op": "add",
        "path": "/fields/Microsoft.VSTS.TCM.AutomatedTestName",
        "value": "[namespace.classname.methodname (e.g. UnitTestProject1.UnitTest1.TestMethod2)]"
      },
      {
        "op": "add",
        "path": "/fields/Microsoft.VSTS.TCM.AutomatedTestStorage",
        "value": "[assembly name(e.g. unittestproject1.dll)"
      },
      {
        "op": "add",
        "path": "/fields/Microsoft.VSTS.TCM.AutomatedTestId",
        "value": "[guid id]"
      },
      {
        "op": "add",
        "path": "/fields/Microsoft.VSTS.TCM.AutomatedTestType",
        "value": "Unit Test"
      },
       {
        "op": "add",
        "path": "/fields/Microsoft.VSTS.TCM.AutomationStatus",
        "value": "Automated"
      }
    ]
    

    AutomatedTestId 是一个 Guid 值,因此您可以使用以下 C# 代码生成新的 Guid:

    Guid g = Guid.NewGuid();
    string s = g.ToString();
    

    参考How do I associate test methods to test cases?

    【讨论】:

    • 小评论说这对我有用,但缺少以下内容,因为必须添加:{ "op": "add", "path": "/fields/System.Title", "value": "Title of the work item" }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2016-04-24
    • 1970-01-01
    相关资源
    最近更新 更多