【Winform】中級:.NET FrameworkでxUnitを使用する手順
xUnitは、.NETエコシステムで広く使われているユニットテストフレームワークです。.NET FrameworkプロジェクトでもxUnitを活用することで、コードの品質を確保し、テスト駆動開発(TDD)を実践することができます。さらに、CI/CDパイプラインを導入することで、コードの変更があるたびに自動的にテストが実行され、継続的にソフトウェアの品質を維持することが可能です。本ガイドでは、.NET FrameworkプロジェクトでxUnitを使ってテストを作成し、CI/CDパイプラインを設定する手順を説明します。
1. .NET Frameworkプロジェクトの作成
新しいプロジェクトの作成
Visual Studioで新しいプロジェクトの作成
をクリックします。
プロジェクトテンプレートから「Windows Forms App (.NET Framework)」を選択します。
プロジェクト名と保存場所を指定して、プロジェクトを作成します。
2. xUnitテストプロジェクトの追加
新しいxUnitテストプロジェクトの作成
ソリューションエクスプローラーでソリューションを右クリックし、新しいプロジェクトの追加
を選択します。
「クラスライブラリ (.NET Framework)」を選択し、プロジェクト名をMyWinFormApp.Tests
とします。
xUnitパッケージのインストール
ソリューションエクスプローラーでテストプロジェクトを右クリックし、NuGet パッケージの管理
を選択します。参照
タブで「xunit」と検索し、xunit
とxunit.runner.visualstudio
パッケージをインストールします。
xunit: xUnitのメインパッケージ
xunit.runner.visualstudio: Visual StudioでxUnitテストを実行するためのランナー
テストプロジェクトにWinFormプロジェクトへの参照を追加
ソリューションエクスプローラーでテストプロジェクトを右クリックし、追加-参照
を選択します。プロジェクト
タブでMyWinFormApp
プロジェクトを選択し、OK
をクリックします。
System.Windows.Forms
参照の追加
テストプロジェクトに System.Windows.Forms
アセンブリの参照を追加します。
ソリューションエクスプローラーで、テストプロジェクトを右クリックし、追加
-参照を選択します。アセンブリ
> フレームワーク
タブから System.Windows.Forms
を選択し、OK
をクリックします。
3. テストクラスとメソッドの作成
テストクラスの作成
テストプロジェクトに新しいクラスを追加し、名前をForm1Tests
とします。
テストメソッドの作成
WinFormアプリケーションのAdd
メソッドに対するテストメソッドを作成します。
テストクラスのコード例:
using Xunit;
using MyWinFormApp;
public class Form1Tests
{
[Fact]
public void Add_ShouldReturnCorrectSum_WhenTwoNumbersAreGiven()
{
// Arrange
var form = new Form1();
int num1 = 2;
int num2 = 3;
int expected = 5;
// Act
int result = form.Add(num1, num2);
// Assert
Assert.Equal(expected, result);
}
}
テストの実行
Visual Studioのテスト
メニューからテスト エクスプローラー
を開き、すべてのテストの実行
をクリックして、テストを実行します。
4. CI/CDパイプラインの設定
.NET Frameworkプロジェクトでも、GitHub ActionsやAzure Pipelinesなどを使用してCI/CDパイプラインを設定することができます。以下は、GitHub Actionsを使用する場合の基本的な設定例です。
.github/workflows/dotnet.yml の例:
name: .NET Framework
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Framework
uses: microsoft/setup-msbuild@v1.0.2
- name: Restore dependencies
run: nuget restore
- name: Build
run: msbuild /p:Configuration=Release
- name: Run tests
run: dotnet test --no-build --verbosity normal
まとめ
.NET Frameworkプロジェクトでも、xUnitを利用してユニットテストを作成し、Visual Studioで実行することが可能です。xUnitは、.NET Frameworkでも広くサポートされており、CI/CDパイプラインにも容易に統合できます。このガイドに従って、.NET FrameworkプロジェクトでxUnitを活用して高品質なソフトウェア開発を行ってください。
ディスカッション
コメント一覧
まだ、コメントがありません