【问题标题】:How to run XUnit tests with ASP.NET Core dependency in Azure DevOps pipeline?如何在 Azure DevOps 管道中使用 ASP.NET Core 依赖项运行 XUnit 测试?
【发布时间】:2021-03-09 02:54:32
【问题描述】:

我们正在为 ASP.NET Core Web API 项目设置 CI/CD。我们希望在引用 Web API 项目的 XUnit 项目的构建管道中运行单元测试。这是来自我们的构建管道:

# azure-pipelines.yml

...

pool:
  vmImage: 'windows-latest'

...

- task: UseDotNet@2
  inputs:
    version: 3.1.x
    packageType: runtime

- task: DotNetCoreCLI@2
  inputs:
    command: build
    projects: '**/MyWebApi.csproj'
    arguments: '--configuration Release'

- task: DotNetCoreCLI@2
  inputs:
    command: test
    projects: '**/MyUnitTests.csproj'
    arguments: '--configuration Release'

...

当我们运行它时,Web API项目构建成功,但是测试运行失败,报错如下:

找不到框架“Microsoft.AspNetCore.App”,版本“3.1.0”。

我们是否需要将我们想要测试的类(来自 Web API 项目)提取到另一个不依赖于 AspNetCore 框架的库中?或者我们可以通过 UseDotNet@2 之类的任务在管道代理上安装框架吗?

【问题讨论】:

  • 请在运行构建和测试之前尝试恢复 nuget 包。
  • 旁注:当您指定3.1.0 时,您明确表示您要使用2019 年12 月发布的3.1.0 版本。如果您想要最新版本,您应该指定@ 987654325@(见UseDotNet task documentation)。
  • @Métoule 谢谢,好点子。由于错误消息,我将其更改为 3.1.0,但现在我已将其更改回 3.1.x。

标签: asp.net-core .net-core azure-devops yaml xunit


【解决方案1】:

请更改您的 UseDtonet 步骤和广告恢复步骤如下:

- task: UseDotNet@2
  inputs:
    version: 3.1.x
    packageType: sdk

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/*.csproj'

【讨论】:

    猜你喜欢
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多