标签: vnext

在 Azure DevOps 中发布测试结果时如何包含 NUnit 测试输出?

我有一个 vNext 版本,它运行一些 NUnit 测试并发布结果。但是,测试生成的输出并未发布,即使可以在相应的 XML 文件中找到它。

例如:

在此输入图像描述

但是,如果我检查相应的 XML 文件 - 它就在那里:

在此输入图像描述

注意该<output>元素。

我非常希望看到这个输出与测试结果一起发布。我该怎么做?

聚苯乙烯

出版还有一个问题。顶部窗格中的运行持续时间报告为 4 小时 59 分钟,但在底部详细信息窗格中,它是正确的 10:48.176 分钟。4h 59m 看起来很像 5h,这是 EST 和 UTC 之间的时差。测试在 Octopus 服务器上运行,并由 vNext 构建获取。也许某处存在时区混乱。

编辑1

我们有一个本地 TFS

编辑2

检查该任务的源代码Publish Test Results表明它使用Microsoft.TeamFoundation.TestClient.PublishTestResults汇编来解析 NUnit XML 测试结果。具体来说,以下 C# 代码用于解析元素test-case(NUnit3ResultsXmlReader.cs):

if (testCaseResultNode.Attributes["result"] != null)
{
  testCaseResultData.TestCaseResult.Outcome = !string.Equals(testCaseResultNode.Attributes["result"].Value, "Passed", StringComparison.OrdinalIgnoreCase) ? (!string.Equals(testCaseResultNode.Attributes["result"].Value, "Failed", StringComparison.OrdinalIgnoreCase) ? (!string.Equals(testCaseResultNode.Attributes["result"].Value, "Skipped", StringComparison.OrdinalIgnoreCase) ? TestOutcome.Inconclusive.ToString() : TestOutcome.NotExecuted.ToString()) : TestOutcome.Failed.ToString()) : TestOutcome.Passed.ToString(); …
Run Code Online (Sandbox Code Playgroud)

nunit unit-testing azure-devops vnext

6
推荐指数
1
解决办法
3149
查看次数

在 Visual Studio 构建步骤中使用 NuGet 安装程序任务和“还原 Nuget 包”有什么区别?

对于 TFS 构建(我使用 TFS 2017),我应该使用 NuGet 安装程序任务还是使用构建配置中的 Visual Studio 构建步骤来还原所有 NuGet 包。哪个是使用它的首选方式?

tfs vnext

4
推荐指数
2
解决办法
6867
查看次数

从 vNext 版本更改 appx 包版本

我创建了一个使用 TFS vNext 构建的 UWP 项目。当它创建包时,它使用 appx 清单中的版本。相反,我想从 msbuild 命令行设置版本号。这可能吗?

msbuild version package uwp vnext

3
推荐指数
1
解决办法
370
查看次数

标签 统计

vnext ×3

azure-devops ×1

msbuild ×1

nunit ×1

package ×1

tfs ×1

unit-testing ×1

uwp ×1

version ×1