在 .Net Framework 的 Git 操作中运行 Nunit 测试

Vas*_*hin 5 .net .net-framework-version devops github-actions

我正在使用 NUnit.Framework 来测试我的 .NET Framework 项目。我想通过 GitHub Actions 运行我的测试。yml 文件:

build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET
  uses: actions/setup-dotnet@v1
  with:
    dotnet-version: '3.0.x'
- name: Setup MSBuild Path
  uses: microsoft/setup-msbuild@v1
- name: Build
  run:  msbuild.exe .\CalcStatistics\CalcStats\CalcStats.sln
- name: Setup VSTest and add to PATH
  uses: darenm/Setup-VSTest@v1
- name: Run VSTest
  id: run_vstest
  run: vstest.console.exe .\CalcStatistics\CalcStats\CalcStatsTests\bin\Debug\CalcStatsTests.dll /Platform:x64
Run Code Online (Sandbox Code Playgroud)

我得到的回应是:没有可用的测试。我尝试使用以下命令通过 MsBuild 运行测试:

run:& "$(vswhere -property installationPath)\Common7\IDE\MSTest.exe" /testcontainer:.\CalcStatistics\CalcStats\CalcStatsTests\bin\Debug\CalcStatsTests.dll
Run Code Online (Sandbox Code Playgroud)

我收到同样的通知,没有可用的测试。 在此输入图像描述

r3m*_*ark 5

  1. 安装 NuGet 包NUnit.ConsoleRunner
  2. 删除步骤“设置 VSTest 并添加到 PATH”(不必要)
  3. 像这样改变你的步骤“运行 VSTest”

run: packages\NUnit.ConsoleRunner.3.12.0\tools\nunit3-console.exe TestProject\bin\Debug\TestProject.dll


小智 5

我通过 nuget install 安装 NUnit.ConsoleRunner 解决了这个问题:

  - name: Install NUnit.ConsoleRunner
     run: nuget install NUnit.ConsoleRunner -Version 3.13.0 -DirectDownload -OutputDirectory .
        
  - name: Run UnitTests
     run: ./NUnit.ConsoleRunner.3.13.0/tools/nunit3-console.exe  path/to/test.dll
Run Code Online (Sandbox Code Playgroud)