2016-08-11 12 views
0

私は最近、HUnitテストフレームワークを使用して、ユニット のテストをhaskellで実行しています。PutText in haskell HUnit

私はこの関数の最初の引数として PutTextをとる関数PutTextとrunTestTextを見つけました。

しかし、私はこれをどのように使用するかわからないし、これを使用する方法の理解にいくつかの助けが欲しいですか?

答えて

1

PutText値を使用すると、テストを実行して生成されたメッセージがレポートされる方法をカスタマイズできます。

メッセージを簡単に作成するには、putTextToHandle stdout Trueを使用してメッセージを標準出力に出力します。 Trueパラメータは、進捗メッセージも出すことを意味します。

PutTextプロトコルを使用すると、状態を維持できます。これは、放出されたメッセージの数を追跡する例です。この状態の最終値 も、返されたタプルの2番目のコンポーネント としてrunTestTextによって返されます。

reportMsg :: String -> Bool -> Int -> IO Int 
reportMsg message isProgress count = do 
    putStrLn $ "#" ++ show (count+1) ++ ": " ++ message 
    return (count+1) 

myPutText = PutText reportMsg 0 :: PutText Int 

そして、あなたはこのようにそれを使用することができます:ここで

(testCounts, msgCount) <- runTestText myPutText tests 
putStrLn $ "Messages emitted: " ++ show msgCount 

testCountsは/実行渡されたテストの数の集計である/などmsgCount /失敗によって返された値ですPutText関数への最後の呼び出し。

+0

ありがとう、私は何の目的がブールの引数が役立つのだろうかと思っていましたか? – Zubair

+0

メッセージが「進捗状況」メッセージであるかどうかを示します。現在完了しているテストの数を報告すると仮定します。 – ErikR

+0

私はそれを使用しようとするたびに、常にfalseと判明します。私はなぜ、すべてのアイデアを確認していない? – Zubair

関連する問題