我试图在VSTS中创建一个发布管道,该管道运行Test Plan
中指定的xUnit测试。
长话短说:我无法正常工作。
我正在使用什么:
在Azure DevOps中,我定义了一个Test Plan
,其中包含一个Test Suite
,其中一个Test
包含一个指向我的xUnit测试的Associated Automation
。
我必须使用REST API,按照here所述将测试代码链接到Test
。
我可以在视觉设计器中为VSTest任务选择Test
。
当我运行发布管道时,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
文件中明确指定了框架版本(因为使用Other console options
选项时,选项Test plan
无效)。path to custom test adapters
Visual Studio 2017
和Installed by Tools Installer
选项.NET Core Tool installer
以安装正确的.NET Core SDK 错误消息仍然相同。
有什么主意我可能会错过的吗?此时,我们将非常感谢您的帮助!
答案 0 :(得分:2)
再过几个小时,我们偶然发现了一个网页,该网页指出您不必复制测试项目的二进制文件作为VSTest任务的输入,而是发布它。当您将vstest.console.exe
指向本地计算机上的二进制文件时,它运行得很顺利。
更新:我们必须在构建管道的末尾添加一个Publish Artifact task,并使发布管道拾取已发布的工件。