如何解决使用VStest并行运行测试不起作用
我正尝试使用VSTest Task来实现并行测试,如下文所述。 https://docs.microsoft.com/en-us/azure/devops/pipelines/test/parallel-testing-vstest?view=azure-devops
我正在做什么的简短描述:
我在同一服务器上安装了两个自托管代理。 当我使用单个“代理”选项(其中一个)运行测试时,它正在运行,没有任何问题。 但是当我使用多代理选项时 a)根据测试和代理的数量进行简单切片 要么 b)根据测试组件进行切片 我收到以下错误。 ## [错误]类型为“发现”的切片由于错误而被“中止”:System.Exception:从指定的测试源中未发现任何测试。
预先感谢, 乌代亚·巴斯卡(Udaya Bhaskar)。
解决方法
根据注释中的YAML,这看起来像是任务帮助参考中的磁盘问题路径。
- PublishBuildArtifacts task的默认路径为
$(Build.ArtifactStagingDirectory)
;您已将其覆盖到$(Build.ArtifactStagingDirectory)\Packages
。如果在查看构件时正确设置了此设置,则应该能够下载从该位置上传的测试程序集及其依赖项。 - DownloadBuildArtifacts task的默认
downloadPath
为$(System.ArtifactsDirectory)
,YAML视图指示您尚未覆盖。 - VSTest task的默认
searchPath
为$(System.DefaultWorkingDirectory)
; YAML视图表明您已将此设置为$(Agent.BuildDirectory)\Bin
。
此处的确切行为可能取决于您的代理如何为其磁盘路径设置。 $(Agent.BuildDirectory)
通常是座席基本工作路径中编号的子目录之一。有趣的是,尽管DownloadBuildArtifacts
的文档中说$(System.ArtifactsDirectory)
是默认设置,但它并未出现在当前的predefined variables list中;如果它实际上引用了$(Build.ArtifactStagingDirectory)
,则默认为“ numbered_build_subdirectory \ a”。
由于您的测试搜索路径将扩展到“ numbered_build_subdirectory \ Bin”,因此我希望(假设文件已正确发布)将它们下载到搜索路径之外的位置测试任务是针对性的,这可以解释为什么找不到测试。
我建议将DownloadBuildArtifacts
和VSTest
的下载和搜索路径修改为与基本目录相同,并且相对于基本目录,例如:$(Agent.BuildDirectory)\Tests
(或适用于您的管道的任何路径) )。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。