我最近一直在使用HUnit测试框架在haskell中运行单元测试。
我遇到了这个函数PutText和runTestText,它的第一个参数是PutText st。
然而,我不确定如何使用它,我想要一些帮助理解如何使用它?
发布于 2016-08-12 04:39:10
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函数返回的值。
https://stackoverflow.com/questions/38905460
复制相似问题