私は最近、HUnitテストフレームワークを使用して、ユニット のテストをhaskellで実行しています。PutText in haskell HUnit
私はこの関数の最初の引数として PutTextをとる関数PutTextとrunTestTextを見つけました。
しかし、私はこれをどのように使用するかわからないし、これを使用する方法の理解にいくつかの助けが欲しいですか?
私は最近、HUnitテストフレームワークを使用して、ユニット のテストをhaskellで実行しています。PutText in haskell HUnit
私はこの関数の最初の引数として PutTextをとる関数PutTextとrunTestTextを見つけました。
しかし、私はこれをどのように使用するかわからないし、これを使用する方法の理解にいくつかの助けが欲しいですか?
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関数への最後の呼び出し。
ありがとう、私は何の目的がブールの引数が役立つのだろうかと思っていましたか? – Zubair
メッセージが「進捗状況」メッセージであるかどうかを示します。現在完了しているテストの数を報告すると仮定します。 – ErikR
私はそれを使用しようとするたびに、常にfalseと判明します。私はなぜ、すべてのアイデアを確認していない? – Zubair