関数型プログラミング言語Haskell Part24
■ このスレッドは過去ログ倉庫に格納されています
0690デフォルトの名無しさん
2014/02/01(土) 23:27:57.78テストコードの書き方が分からん。
(参考資料 : https://github.com/kazu-yamamoto/unit-test-example/blob/master/markdown/ja/tutorial.md)
Exceptoin の bracket 関数を使って、
メイン処理の前後でリソースの確保と開放を行う関数 useResource(仮名)がある。
メイン処理サブ関数 f1、f2、..., fn があって、
メイン処理関数 f :: Resource -> IO a の中でそれらが呼ばれ、処理される。
もちろん、f1、f2 らはそれぞれ useResource 関数で確保したリソースを使う。
本来なら f に useResource を適用して一連の処理を行うのだが、
今は個々の f1、f2、..., fn をテストしたい。
こういう状況の場合、HSpec 用の t :: Spec 関数はどう書くのが一般的なのかな。
describe "〜〜〜"
it "〜〜〜" $ do
[ここ]
[ここ] に useResource を書いて f1 や f2 などをそれぞれぶち込んで
結果を正常値と比較したり、例外の発生をテスしたりすると、
個々のテスト毎にリソースの確保と開放が発生するよね。
cabal で自動テスト実行するなら、これは仕方ないのかな?
もしリソースがデータベースとかで、テストで QuickCheck を使ってたら、
けっこう悲惨なことにならない?
■ このスレッドは過去ログ倉庫に格納されています