TL;DR

.NET 上で動作するテスティングフレームワーク。.NET のすべての言語で単体テストを書ける。

仕組み

もとは JUnit を移植したもので、バージョン 3 で書き直され、多くの機能が追加された。バージョン 3 以降は MIT ライセンスで公開されている。

例

公式ドキュメントによると、テストは [TestFixture] を付けたクラスの中に、[Test] を付けたメソッドとして書く。結果は Assert.That に Is.EqualTo などの制約を渡して確かめる。

[TestFixture]
public sealed class BasicTests
{
    [Test]
    public void Add()
    {
        Assert.That(2 + 2, Is.EqualTo(4));
    }
}

テストメソッドはインスタンスメソッドでも static メソッドでもよい。Task を返す非同期のテストにも対応していて、NUnit は完了を待ってから結果を記録する。

関連

  • FsUnit: NUnit などを F# 向けの構文でラップしたライブラリ
  • Expecto

出典