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 は完了を待ってから結果を記録する。