首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在HUnit中选择性地运行测试

在HUnit中选择性地运行测试
EN

Stack Overflow用户
提问于 2012-09-06 21:44:55
回答 1查看 94关注 0票数 2

Test.HUnit提供了一个红色的大按钮来运行测试:

代码语言:javascript
复制
runTestTT :: Test -> IO Counts

由于需要构建大型测试套件,因此Test不是单个测试,而实际上是叶子中带有Assertion的标记玫瑰树:

代码语言:javascript
复制
data Test
  = TestCase Assertion | TestList [Test] | TestLabel String Test
        -- Defined in `Test.HUnit.Base'

它不是抽象的,所以可以对其进行处理。一个特别有用的处理是通过路径提取子树:

代码语言:javascript
复制
byPath = flip $ foldl f where
    f (TestList l) = (l !!)
    f (TestLabel _ t) = const t
    f t = const t     

因此,例如,我可以运行单个子套件runTestTT $ byPath [1] tests或由测试路径标识的特定测试runTestTT $ byPath [1,7,3] tests,而不是等待整个套件。

自行开发的工具的一个缺点是不保留(缩短)测试路径。

Hackage上已经有这样的处理辅助工具了吗?

EN

回答 1

Stack Overflow用户

发布于 2012-09-06 22:47:23

最接近您需求的似乎是那些从HUnit、Quickcheck和其他测试中抽象出来的库和程序,它们拥有自己的测试名称分组和管理基础设施,例如test-framework。它为您提供了一个接受命令行参数的main函数,其中包括一个允许您指定要运行的测试或测试组的函数(通过对名称进行全局匹配)。

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

https://stackoverflow.com/questions/12301506

复制
相关文章

相似问题

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