【问题标题】:How to associate a XUnit Fact to a Test Case in TFS如何将 XUnit Fact 关联到 TFS 中的测试用例
【发布时间】:2018-07-27 06:19:47
【问题描述】:

我正在尝试弄清楚如何将 TFS 2018 中的测试用例与 .Net Core 项目中的 Xunit Fact 相关联。
如果我在 Visual Studio 2017 测试资源管理器中单击 XUnit Fact,关联选项将被禁用。

有人知道如何将 Xunit Fact 与 TFS 中的测试用例相关联吗?

【问题讨论】:

  • 目前我没有找到解决方案。给定一个使用 MSTest V2 的 .net 框架项目,您可以遵循指定的解决方法 here ,但我无法让它在 .net 核心上工作。
  • 您可以通过 REST API 更新工作项上的关联自动化
  • @DanielMann thx,去看看。您是否有指向手册或 API 端点的链接?

标签: tfs .net-core xunit.net


【解决方案1】:

有一个Rest API可以update work item filed

例如:

PATCH https://servername:8080/tfs/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?

【讨论】:

  • 嘿!我确实更新了测试用例。当我启动与测试计划相关的构建、生成测试结果并在线发布它们 TFS 时,测试用例的状态不会改变。知道为什么吗?
  • @GrimSmiler 您的意思是说您已将 vNext 构建与 Microsoft 测试管理器中的测试计划相关联,并且在构建运行、测试结果发布后,您还想更改测试用例的状态吗?什么是测试用例状态,拼写错误?您是在谈论测试用例的状态,例如通过,未运行,NA ...
  • 是的,我已将测试计划与 vNext 构建相关联。 here 它说,更新状态只能在版本中进行,而不是在构建中。是的,我想更改测试运行的状态 - 通过、失败、阻止等。
【解决方案2】:

在最新版本的 Visual Studio 2017 15.7.1 中,终于可以从测试资源管理器中获得关联 xUnit 测试用例的功能。这是有关此的更多信息,包括有关从构建或发布中报告和执行测试的信息。 http://www.deliveron.com/blog/test-case-association-xunit-nunit-and-mstestv2-tests-available-visual-studio-2017-1571/

【讨论】:

    猜你喜欢
    • 2015-02-07
    • 1970-01-01
    • 2016-06-28
    • 2020-10-28
    • 2020-10-11
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    相关资源
    最近更新 更多