F#用UnitTestframework "FsUnit"に触れてみました
昨日はNUnitを用いたテストコードをF#で記述する方法を紹介しました。
調べてみたことろ、F#にはFsUnitと呼ばれるテストフレームワークがあるようです。
FsUnit
CodePlexの以下のページより、ソースコードをダウンロードします。
また、Google codeにはビルド済みバイナリが置いてありますが、私の環境ではビルド時にエラーが出て、うまく動作しませんでした。
ダウンロードしたソースコードをF#ライブラリとしてビルドします。
FsUnitはNUnitを利用するため、参照設定を忘れないようにして下さい。
このとき、構成を[Release]にしておきましょう。
ビルドに成功すれば、DLLファイルが作成されるはずなので、前回と同じように、テストプログラムから、
を参照に追加しておきましょう。
テストコードは、以下のようになります。
open System open NUnit.Framework open FsUnit let greet str = sprintf "hello, %s" str [<TestFixture>] type MyTest() = [<Test>] member x.TestGreet () = greet "foo" |> should equal "hello, foo"
Assert.AreEqual("hello, foo", greet "foo")と書いていた部分がスッキリし、文章としても読みやすくなったと思います。
FsUnitは他にも色々な工夫がされているようで、なかなか面白いです。