C#:
テストの作成

どのように:

C#開発者は、その柔軟性と広範な機能セットのために、NUnitまたはxUnitフレームワークを使用してテストを書くことが一般的です。こちらはNUnitを使用してシンプルな加算機能をテストする基本的な例です:

  1. NUnitとNUnit3TestAdapterをNuGetパッケージマネージャーや.NET CLI経由でインストールします:
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
  1. まだ行っていない場合、C#クラスライブラリのプロジェクトを作成します

  2. テストするシンプルな関数を書きます。例えば、Calculatorというクラス内の加算メソッド:

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}
  1. NUnitを使用してテストクラスを書きます
using NUnit.Framework;

namespace CalculatorTests
{
    [TestFixture]
    public class CalculatorTests
    {
        [Test]
        public void Add_AddsTwoIntegers_ReturnsCorrectSum()
        {
            // Arrange
            var calculator = new Calculator();
            int expected = 5;

            // Act
            int actual = calculator.Add(2, 3);

            // Assert
            Assert.AreEqual(expected, actual);
        }
    }
}
  1. IDEのテストランナーや.NET CLIを使用してテストを実行します
dotnet test

サンプル出力:

テストが合格した場合、次のような出力が表示されるはずです:

Test Run Successful.
Total tests: 1
     Passed: 1
 Total time: 1.2345 Seconds

xUnitを使用する場合:

xUnitを好む場合、セットアップはNUnitに似ています。こちらはCalculatorクラスのテスト例をxUnitを使用して書き換える方法です:

  1. xUnitとxUnit.runner.visualstudioをインストールします
dotnet add package xUnit
dotnet add package xUnit.runner.visualstudio
  1. xUnitを使用してテストクラスを書きます
using Xunit;

namespace CalculatorTests
{
    public class CalculatorTests
    {
        [Fact]
        public void Add_AddsTwoIntegers_ReturnsCorrectSum()
        {
            // Arrange
            var calculator = new Calculator();
            int expected = 5;

            // Act
            int actual = calculator.Add(2, 3);

            // Assert
            Assert.Equal(expected, actual);
        }
    }
}
  1. .NET CLIあるいはIDEの統合テストランナーを使用してテストを実行します

NUnitとxUnitの両方が、パラメータ化されたテスト、セットアップ/ティアダウン操作、テストのカテゴリ分けなどの強力な機能を提供するため、C#プログラマーのツールキットにとって、コードの品質と機能を確保するために欠かせないツールとなっています。