C#:
テストの作成
どのように:
C#開発者は、その柔軟性と広範な機能セットのために、NUnitまたはxUnitフレームワークを使用してテストを書くことが一般的です。こちらはNUnitを使用してシンプルな加算機能をテストする基本的な例です:
- NUnitとNUnit3TestAdapterをNuGetパッケージマネージャーや.NET CLI経由でインストールします:
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
まだ行っていない場合、C#クラスライブラリのプロジェクトを作成します。
テストするシンプルな関数を書きます。例えば、
Calculator
というクラス内の加算メソッド:
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
}
- 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);
}
}
}
- IDEのテストランナーや.NET CLIを使用してテストを実行します:
dotnet test
サンプル出力:
テストが合格した場合、次のような出力が表示されるはずです:
Test Run Successful.
Total tests: 1
Passed: 1
Total time: 1.2345 Seconds
xUnitを使用する場合:
xUnitを好む場合、セットアップはNUnitに似ています。こちらはCalculator
クラスのテスト例をxUnitを使用して書き換える方法です:
- xUnitとxUnit.runner.visualstudioをインストールします:
dotnet add package xUnit
dotnet add package xUnit.runner.visualstudio
- 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);
}
}
}
- .NET CLIあるいはIDEの統合テストランナーを使用してテストを実行します。
NUnitとxUnitの両方が、パラメータ化されたテスト、セットアップ/ティアダウン操作、テストのカテゴリ分けなどの強力な機能を提供するため、C#プログラマーのツールキットにとって、コードの品質と機能を確保するために欠かせないツールとなっています。