运行 Azure DevOps 中的 Azure Function v1 单元测试

Running Azure Function v1 unit tests in Azure DevOps

我有一个 Azure Function v1,它在 Azure DevOps 中具有有效的构建和发布管道。到目前为止,还没有任何单元测试。在我的本地 Visual Studio 2019 上顺利测试 运行。但我无法在 Azure DevOps 中的构建管道上 运行。

我在构建管道中使用 Visual Studio 构建,而不是 dotnet.exe,因为这就是我在那里工作的方式。

当我尝试添加dotnet test时,会出现以下错误:

...\Roslyn\Microsoft.CSharp.Core.targets(59,5): error MSB4062: The "Microsoft.CodeAnalysis.BuildTasks.Csc"
task could not be loaded from the assembly ...\Roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll.
Assembly with same name is already loaded Confirm that the <UsingTask> declaration is correct,
that the assembly and all its dependencies are available, and that the task contains
a public class that implements Microsoft.Build.Framework.ITask.

当我尝试使用 Visual Studio 测试 运行 测试时,出现以下错误:

"An exception occurred while invoking executor 'executor://mstestadapter/v2':
Method 'get_DataRow' in type 'Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.TestContextImplementation'
from assembly 'Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices,
Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' does not have an implementation."

我应该怎么做才能使我的构建管道 运行 我的 Azure Function v1 测试?

您需要添加 Visual Studio 测试任务:

解决方案是将 MSTest.TestAdapter 和 MSTest.TestFramework nugets 从 2.0.0 降级到 1.4.0 并开始测试 运行(并且也通过了)。