如何以编程方式在VSTS中创建测试用例?

时间:2017-12-08 18:02:56

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

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

在C#单元测试项目中,有可能将每个测试方法与visual studio test explorer中的测试用例链接。

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

任何人都可以帮助我解决API和如何做到这一点的想法吗?

2 个答案:

答案 0 :(得分:2)

用于测试管理的REST API非常广泛,并在VSTS文档网站上有明确记录。

API分为两部分:

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

答案 1 :(得分: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?