首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >haskell HUnit中的PutText

haskell HUnit中的PutText
EN

Stack Overflow用户
提问于 2016-08-12 04:22:20
回答 1查看 118关注 0票数 2

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

我遇到了这个函数PutText和runTestText,它的第一个参数是PutText st。

然而,我不确定如何使用它,我想要一些帮助理解如何使用它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-12 04:39:10

PutText值允许您自定义报告运行测试生成的消息的方式。

创建它的一种简单方法是使用putTextToHandle stdout True将消息输出到标准输出。True参数表示还会发出进度消息。

PutText协议允许您维护状态。这是一个跟踪发出的消息数量的示例。此状态的最终值也由runTestText作为返回的元组的第二个组件返回。

代码语言:javascript
复制
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

然后你可以像这样使用它:

代码语言:javascript
复制
(testCounts, msgCount) <- runTestText myPutText tests
putStrLn $ "Messages emitted: " ++ show msgCount

这里的testCounts是运行/通过/失败等测试的数量。msgCount是最后一次调用PutText函数返回的值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38905460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档