如何在 Azure 发布管道中使用 Linux 代理 运行 vstest?
How to run vstest using Linux agent in azure Release pipeline?
问题陈述:
我有用 .NetCore 编写的 specflow 测试,用于 运行 基于 windows 的代理。现在我需要在 linux 代理中 运行 这些测试。
我使用构建管道和基于 windows 的代理来构建工件。然后在发布管道中,我添加了 vstest 任务和 Ubuntu 代理,如下所示
代理池: Azure Pipelines
代理规格: Ubuntu 20.04
当我 运行 流水线时,vstest 任务给出如下错误
此任务仅在 Windows 代理上受支持,不能在其他平台上使用
如何解决这个问题?
您不能在 Linux 上使用 vstest。 vstest 要求安装 Visual Studio 或安装 VS 测试平台。
如果你想使用 vstest 你可以 change the Agent Specification 到 Windows。
有一种变通方法可以实现这一点。
添加 dotnet 测试任务并将命令更改为 'custom',而不是将测试和自定义命令更改为 'vstest'。配置如下所示
steps:
- task: DotNetCoreCLI@2
displayName: 'dotnet custom'
inputs:
command: custom
projects: '**/Tests.dll'
custom: vstest
arguments: '--logger:trx;logfilename=TEST.xml'
timeoutInMinutes: 120
问题陈述: 我有用 .NetCore 编写的 specflow 测试,用于 运行 基于 windows 的代理。现在我需要在 linux 代理中 运行 这些测试。
我使用构建管道和基于 windows 的代理来构建工件。然后在发布管道中,我添加了 vstest 任务和 Ubuntu 代理,如下所示
代理池: Azure Pipelines
代理规格: Ubuntu 20.04
当我 运行 流水线时,vstest 任务给出如下错误
此任务仅在 Windows 代理上受支持,不能在其他平台上使用
如何解决这个问题?
您不能在 Linux 上使用 vstest。 vstest 要求安装 Visual Studio 或安装 VS 测试平台。
如果你想使用 vstest 你可以 change the Agent Specification 到 Windows。
有一种变通方法可以实现这一点。
添加 dotnet 测试任务并将命令更改为 'custom',而不是将测试和自定义命令更改为 'vstest'。配置如下所示
steps:
- task: DotNetCoreCLI@2
displayName: 'dotnet custom'
inputs:
command: custom
projects: '**/Tests.dll'
custom: vstest
arguments: '--logger:trx;logfilename=TEST.xml'
timeoutInMinutes: 120