【问题标题】:Azure DevOps - Running VsTest for C# Unit TestAzure DevOps - 为 C# 单元测试运行 VsTest
【发布时间】:2020-08-13 18:03:30
【问题描述】:

我在这里按照这篇 Microsoft 文章创建了一个 C# 控制台应用程序和一个 C# 单元测试:

https://docs.microsoft.com/en-us/visualstudio/test/walkthrough-creating-and-running-unit-tests-for-managed-code?view=vs-2019

这在 Visual Studio 中运行良好。

我现在想创建一个 Azure DevOps 管道,并希望它将此单元测试作为管道的一部分进行调用。我已将 VsTest 测试程序集添加到管道中,但我不知道如何确保它实际上正在运行单元测试(就像我看到它在 Visual Studio 中运行时一样)。

当我检查构建的结果时,我可以看到它已经通过了所有测试,但即使这被标记为通过,也会出现错误读数:

“错误:System.IO.FileNotFoundException:无法加载文件或程序集'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。”

我知道这与正在使用的 .Net Core 版本相关,但我不知道我需要在 Pipeline 中的哪个位置进行更改?

【问题讨论】:

  • 你能添加你的csproj文件吗?
  • 如果可以的话,你的管道呢?
  • 这是主应用程序的 csproj 文件:Exenetcoreapp3.1
  • netcoreapp3.1false项目>
  • 上面的csproj是单元测试用的那个

标签: unit-testing azure-devops azure-pipelines vstest


【解决方案1】:

要选择要使用的 .NET Core 版本,可以使用Use .NET Core task。在 YAML 代码中,在作业中,我通过以下方式指定上述任务:

- task: UseDotNet@2
  displayName: 'Use .NET Core SDK $(dotnetSdkVersion)'
  inputs:
    packageType: sdk
    version: $(dotnetSdkVersion)

在 YAML 文件的开头,您必须设置我在这里使用的 dotnetSdkVersion 变量。您可以通过以下方式进行设置,将其设置为.NET Core 3.1.201:

variables:
  dotnetSdkVersion: '3.1.201'

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 2021-05-07
    • 1970-01-01
    • 2023-02-26
    • 2015-11-20
    • 1970-01-01
    相关资源
    最近更新 更多