把文本放入haskell单元



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

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

相关内容

  • 没有找到相关文章

最新更新