如何在.NET项目中为单元测试创建GitHub Actions

75次阅读
没有评论

问题描述

使用NUnit框架对.NET项目进行单元测试,并希望通过GitHub Actions来运行测试。他想知道在项目的程序集中应该包含什么内容,是否有一些标准示例可供参考。

解决方案

方案1

在.NET项目中,你不需要在程序集中包含任何内容来使用GitHub Actions运行测试。只需在.github/workflows文件夹中创建工作流文件,并使用以下内容(假设你有一个.NET Core项目):

name: Tests
on:
  push
jobs:
  tests:
    name: Unit Testing
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2.1.0
      - run: dotnet test

上面的示例中,我们定义了一个名为Tests的工作流,它会在代码推送时触发。工作流中的tests作业会在windows-latest环境上运行。步骤中的actions/checkout用于检出代码,dotnet test用于运行单元测试。

请注意,dotnet在Windows机器上预安装,但在macOS和Ubuntu上未预安装。因此,如果你想在这些机器上运行测试,需要添加额外的步骤来安装dotnet。你可以使用actions/setup-dotnet操作来实现这一目的。

方案2

请注意以下操作注意版本差异及修改前做好备份。
另一种方法是手动创建GitHub Actions工作流文件,并在其中定义运行测试的步骤。以下是一个示例:

name: Tests
on:
  push
jobs:
  tests:
    name: Unit Testing
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2.1.0
      - name: Setup .NET Core SDK
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: '3.1'
      - name: Restore dependencies
        run: dotnet restore
      - name: Build project
        run: dotnet build
      - name: Run tests
        run: dotnet test

在上面的示例中,我们首先使用actions/checkout操作来检出代码。然后,使用actions/setup-dotnet操作来安装.NET Core SDK。接下来,我们使用dotnet restore命令来还原项目的依赖项,使用dotnet build命令来构建项目,最后使用dotnet test命令来运行单元测试。

请注意,这只是一个示例,你可以根据自己的项目需求进行修改和扩展。

以上是两种在.NET项目中为单元测试创建GitHub Actions的方法。你可以根据自己的需求选择其中一种或根据需要进行修改和扩展。

正文完