繁体   English   中英

haskell HUnit中的PutText

[英]PutText in haskell HUnit

我最近一直在使用HUnit测试框架在haskell中运行单元测试。

我遇到了这个函数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函数返回的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM