VSTest-任务无法从测试计划运行.NET Core 2.1 xUnit测试

5
我正在尝试在VSTS中创建一个发布管道,以便按照“测试计划”中指定的方式运行我的xUnit测试。
长话短说:我做不到。
我使用的工具包括:
- Azure DevOps(前身为VSTS) - Visual Studio Test任务(v2.*) - 测试项目针对 .NET Core 2.1 - xunit 2.4和xunit.runner.visualstudio 2.4
在Azure DevOps中,我定义了一个“测试计划”,其中包含一个“测试套件”,该套件包含一个“测试”,该测试具有指向我的xUnit测试的“关联自动化”。我必须使用REST API将测试代码链接到“测试”,如此处所述。
在VSTest任务的可视化设计器中,我可以选择该“测试”。
当我运行发布管道时,VSTest任务失败,并显示以下错误消息:
DiscoveryMessage : System.IO.FileNotFoundException: Unable to find tests for D:\a\r1\a\Foo.Tests.dll. Make sure test project has a nuget reference of package "Microsoft.NET.Test.Sdk" and framework version settings are appropriate. Rerun with /diag option to diagnose further.
Foo.Tests.dll的路径是正确的,并且所有必需文件也已复制。
我明确指定了.runsettings文件中的框架版本(因为使用“测试计划”选项时,“其他控制台选项”选项无效);指定了“自定义测试适配器路径”;使用Visual Studio 2017和“由工具安装程序安装”选项;添加了一个“.NET Core工具安装程序”,以安装正确的.NET Core SDK等等。
错误消息仍然是相同的。
我的问题在哪里?您对此有何看法?非常感谢您的帮助!

你的项目中是否引用了“Microsoft.NET.Test.Sdk”?能否分享一个项目示例供我们检查问题? - Eddie Chen - MSFT
1个回答

2
几个小时后,我们发现了一个网页,上面写着你不必复制测试项目的二进制文件作为 VSTest 任务的输入,而是可以将其发布。当你在本地机器上指向二进制文件时,vstest.console.exe 可以顺利运行,这从未想到过。
更新:我们不得不在构建流水线的末尾添加一个发布构建工件任务,并让发布流水线拾取已发布的工件。

enter image description here


你有这个网站的链接吗? - Mr Shoubs
@MrShoubs 抱歉,我找不到它了。 - Sebastian Weber
你能具体说明一下吗?我也遇到了同样的问题,但不确定你采取了哪些步骤来解决。 - Mike Cole
我也看到了类似的情况;在这种情况下,我已经有了一个发布构件步骤。 - Tom W

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