0
我最近一直在使用HUnit測試框架在haskell中運行單元 測試。PutText in haskell HUnit
我遇到了這個函數PutText和runTestText,它把PutText st作爲它的第一個參數 。
但是我不知道如何使用這個,並想了解如何使用它的一些幫助?
我最近一直在使用HUnit測試框架在haskell中運行單元 測試。PutText in haskell HUnit
我遇到了這個函數PutText和runTestText,它把PutText st作爲它的第一個參數 。
但是我不知道如何使用這個,並想了解如何使用它的一些幫助?
PutText值允許您自定義報告運行測試生成的消息的方式。
創建一個簡單的方法是使用putTextToHandle stdout True
將消息輸出到標準輸出。參數True
意味着也發出進度信息。
PutText協議允許您維護狀態。這是一個跟蹤發送消息數量的例子。該狀態的最終值 也由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函數的最後一次調用。
謝謝,我想知道bool參數有什麼用途? – Zubair
它表示消息是否爲「進度」消息 - 我假設報告當前已完成的測試數量。 – ErikR
每當我嘗試使用它,它總是變成假。我不知道爲什麼,有什麼想法? – Zubair