TFS Prem Release 未找到与模式匹配的测试程序集:**\*UITests*.dll,!**\obj\



我正在尝试在我们的开发环境服务器上触发测试。 测试确实在具有生成代理和测试代理的生成服务器上执行。

在我们的开发服务器上,我已经安装了

  • 测试代理
  • 我发现这一行[命令]powershell非交互式-执行策略 不受限制 -文件 D:\TFSVSOWork_tasks 所以
  • 我将该目录复制到开发服务器,因为它没有 存在。
  • 已安装的铬

我在日志中看到的是

2019-07-11T20:11:46.5428863Z ##[section]Starting: VsTest - testAssemblies
2019-07-11T20:11:46.5428863Z ==============================================================================
2019-07-11T20:11:46.5428863Z Task         : Visual Studio Test
2019-07-11T20:11:46.5428863Z Description  : Run tests with Visual Studio test runner
2019-07-11T20:11:46.5428863Z Version      : 2.0.55
2019-07-11T20:11:46.5428863Z Author       : Microsoft Corporation
2019-07-11T20:11:46.5428863Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=835764)
2019-07-11T20:11:46.5428863Z ==============================================================================
2019-07-11T20:11:47.3085004Z Run the tests locally using vstest.console.exe
2019-07-11T20:11:47.3085004Z ========================================================
2019-07-11T20:11:47.3085004Z Test selector : Test assemblies
2019-07-11T20:11:47.3085004Z !**obj**
2019-07-11T20:11:47.3085004Z Test assemblies : ***UITests*.dll,!**obj**
2019-07-11T20:11:47.3085004Z Test filter criteria : null
2019-07-11T20:11:47.3085004Z Search folder : D:ApplicationsHttpxyztest
2019-07-11T20:11:47.3241263Z Run settings file : D:ApplicationsHttpLanding
2019-07-11T20:11:47.3241263Z Run in parallel : false
2019-07-11T20:11:47.3241263Z Run in isolation : false
2019-07-11T20:11:47.3241263Z Path to custom adapters : C:Program Files (x86)Microsoft Visual Studio2017TestAgentCommon7IDECommonExtensionsMicrosoftTestWindow
2019-07-11T20:11:47.3241263Z Other console options : null
2019-07-11T20:11:47.3241263Z Code coverage enabled : false
2019-07-11T20:11:47.3241263Z VisualStudio version selected for test execution : latest
2019-07-11T20:11:47.3241263Z [command]powershell -NonInteractive -ExecutionPolicy Unrestricted -file D:TFSVSOWork_tasksVSTest_ef087383-ee5e-42c7-9a53-ab56c98420f92.0.55vs15Helper.ps1
2019-07-11T20:11:48.2303716Z <Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
2019-07-11T20:11:48.2303716Z   <S>C:Program Files (x86)Microsoft Visual Studio2017Enterprise</S>
2019-07-11T20:11:48.2303716Z </Objs>
2019-07-11T20:11:48.2303716Z [command]wmic datafile where "name='C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe'" get Version /Value
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z Version=15.0.28307.421
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z Version=15.0.28307.421
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z 
2019-07-11T20:11:48.3397476Z ========================================================
2019-07-11T20:11:48.3553717Z ##[warning]No test assemblies found matching the pattern: ***UITests*.dll,!**obj**.
2019-07-11T20:11:48.3709967Z ##[section]Finishing: VsTest - testAssemblies

它不是任务失败,这意味着我得到了一张绿色支票。 但我确实得到##[警告]找不到与模式匹配的测试程序集:*UITests*.dll,!\obj**. 还是我还需要加载其他软件。

TFS Prem Release 找不到与模式匹配的测试程序集:*UITests*.dll,!\obj\

默认情况下,我们将$(System.DefaultWorkingDirectory)指定为 Visual Studio 测试任务中的搜索文件夹。这指向代理上的源文件夹,该文件夹与安装代理的目录相关。

但是日志中的搜索文件夹是D:ApplicationsHttpxyztest,它似乎是TFS服务器上的本地文件夹。若要解决此问题,应确保指示MSBuild(使用 OutDir 参数)在生成项目时将程序集输出到该特定位置,然后可以使用该位置。

注意:由于在发布时测试程序集,因此应确保在生成完成后不会清理这些程序集。

更新:

根据您的团队成员的错误日志,我发现了以下错误消息:

2019-07-18T18:27:43.9323329Z [command]"C:Program Files (x86)Microsoft Visual Studio2017TestAgentCommon7IDEExtensionsTestPlatformvstest.console.exe" \ServernameD$FAF_ApplicationsHttpXYZAppNametestXYZAppName.Nunit.UITests.dll /logger:trx "/TestAdapterPath:"D:TFSVSOWorkr45a"" /framework: .NetFramework,version=V4.7.2
2019-07-18T18:27:44.0417108Z Microsoft (R) Test Execution Command Line Tool Version 15.9.0
2019-07-18T18:27:44.1198351Z The /Framework argument requires the target .Net Framework version for the test run.   Example:  /Framework:".NETFramework,Version=v4.5.1"

似乎您在参数中没有给出正确的语法规则:

/framework: .NetFramework,version=V4.7.2

它应该是:

/Framework:".NetFramework,version=V4.7.2"

您缺少双引号并在参数中添加更多空格。

希望这有帮助。

由于这并不能回答我的所有问题,因此它确实回答了如何让测试在构建服务器以外的其他地方运行。 我们必须在要测试的服务器上加载vstf_testagent.exe。 在 TFS 中,我们添加了一个步骤,用于从放置的位置安装 vstf_testagent。 然后,我们开始看到我们的测试正在运行和失败。 我们还没有弄清楚需要更改的内容,因为它正在尝试运行我们找不到的特定版本。

最新更新