F#のコードをユニットテストで検証する その5 (NUnit)
Visual Studio 2013 から NUnit を使ってF# コードのユニットテストを行ってみます。(F# のプロジェクトはコンソールアプリケーションのプロジェクトとして作成)
プロジェクトへ必要な Nuget パッケージをインストールします。(記事作成時の NUnit のバージョンは3.5.0)
Visual Studio 2013 のテストエクスプローラーでユニットテストができるように NUnit 3 Test Adapter for Visual Studio(記事作成時のバージョンは3.5.0)を(F#のプロジェクトが所属する)ソリューションへインストールします。
テストコードの例
- module UnitTestingSamples
- open NUnit.Framework
- [<Test>]
- let simpleTest() =
- Assert.AreEqual(2.0**10.0, 1024.0)
- [<TestCase("", 0)>]
- [<TestCase("ab", 2)>]
- [<TestCase("ABC", 3)>]
- [<TestCase("ABCD", 4)>]
- [<TestCase("12345", 5)>]
- let parameterizedTest(str: string, expected: int) :unit =
- Assert.AreEqual(str.Length, expected)
2行目: NUnit の名前空間 NUnit.Framework をインポートします。
4~6行目:Assert.AreEqual を使って値の等値性検査を行います。関数 simpleTest では2の10乗が1024に等しいかどうかを検査しています。
8~14行目:Assert.AreEqual を使って値の等値性検査を行います。関数 parameterizedTest には2つの引数があり、TestCase で指定したテストデータの組み合わせが渡されます。この例では TestCase が5つ置かれているので、関数 parameterizedTest を使ったテストが5回実行されます。
テストエクスプローラーから実行した結果