在Azure DevOps中使用NUnit发布测试结果任务

3
我正在尝试将“发布测试结果”任务添加到我的Azure DevOps发布管道中,然而,当我尝试发布.trx文件时,它似乎没有在正确的文件夹中查找,并尝试解析无效的文件格式(我假设这是因为它找不到TestResults文件夹)。我可以在Visual Studio Test任务日志中看到我的文件被创建在这里:
2020-02-19T21:28:57.6557476Z Vstest.console.exe以代码0退出。
2020-02-19T21:28:57.6557819Z:完成测试执行
2020-02-19T21:28:57.6640479Z 测试结果文件:C:\agents\vm1-1_work_temp\TestResults\vm1$_vm1_2020-02-19_21_28_31.trx
但是,在我的“发布测试结果”任务日志中,我收到以下错误:
2020-02-19T21:28:59.7249456Z [command]C:\agents\vm1-1_work_tasks\PublishTestResults_0b0f01ed-7dde-43ff-9cbb-e48954daf9b1\2.164.3\modules\TestResultsPublisher.exe @C:\agents\vm1-1_work_temp\d793cb80-535e-11ea-9ab4-8f1d738f183d.txt
2020-02-19T21:29:00.5600855Z ##[warning]无法解析结果文件:文件格式无效。
这是我的测试运行和发布测试结果任务的情况...有人能指出我在这里做错了什么吗?我看到有人说我不需要添加此任务,但我无法在管道中看到测试结果选项卡,我只能看到附加到任务的.trx文件(请参见下文)。

Visual Studio Test Task

Publish Test Results Task

Pipeline screenshot


我怀疑.trx文件或测试运行本身存在问题。这就是为什么您没有从VSTest任务获得测试结果(您应该获得的),也是发布测试任务抱怨的原因。您能在Visual Studio中打开.trx文件吗?它是有效的格式。还要检查日志时您的测试是否实际执行。打开调试输出以获取更多信息。https://learn.microsoft.com/en-us/azure/devops/pipelines/troubleshooting?view=azure-devops#configure-verbose-logs - Eric Smith
嗨,Eric,测试肯定在运行,我可以在日志中看到它们(抱歉没有包括这个)。我还可以打开附加到VS测试步骤的.trx文件,并且它可以正常打开。这就是让我困惑的地方,因为我实际上可以下载并打开该文件,没有任何问题。不幸的是,我无法附加它,因为其中有一些我不能分享的信息。 - benm912
看这个日志运行的时候,你有没有看到这一行? 测试结果文件:有没有看到任何带有发布测试结果:的行?如果你使用调试模式运行,是否能得到关于问题的其他提示也很感兴趣。 - Eric Smith
1个回答

6

TestResultsFormattestRunner 输入名称的别名。看起来您正在使用 VSTest testRunner,因此在发布测试结果任务中,您应该选择 TestResultsFormat 中的 VSTest


这有点奇怪。我将其更改为VSTest并且它可以工作,但是在我的解决方案中我使用的是NUnit作为我的测试运行器,所以我期望那里应该指定的是NUnit。这两者不同吗? - benm912
你在VSTest任务中指定了适配器吗? - Cece Dong - MSFT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接