问题描述
使用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的方法。你可以根据自己的需求选择其中一种或根据需要进行修改和扩展。