dotnet test を実行します。
■ テンプレートでも十分
GitHub のサイトでポチポチして生まれるテンプレートでも十分な情報がありますが、動くとは限りません。
■ 動かしている .yml
こんな感じです。テストプロジェクトの場所を指定するよう変更しました。
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: .NET
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore ./src/RKPlugin/TestProject1/
- name: Build
run: dotnet build ./src/RKPlugin/TestProject1/ --no-restore
- name: Test
run: dotnet test ./src/RKPlugin/TestProject1/ --no-build --verbosity normal
もともとはこんな感じ。
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
これだと、リポジトリのトップに .sln ファイルか .csproj ファイルがおかれた配置が想定されていそうです。あと、特定のテストプロジェクトだけ狙って実行できていないのも気になるポイントでした。
参考
狙ったプロジェクトだけ実行する。
毎回パス指定するの無駄じゃない?
cd コマンドは使用可能です。これを活用すればパスを何度も書かなくてよくなる、はずです。
しかし、この cd の移動、- name: の中しか有効になりません。つまり
- name: cd
run: cd ./src/PKPlugin/ TestProject1
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
のように書いても - name: Restore dependencies ではトップに戻ってしまいます。
-name: の構成を変えればいいのですが、それより毎回書いてしまう方が早いと思って。