haskell - doctest QuickCheck——我可以只在 doctests 中导入 QC 实例吗?

标签 haskell testing quickcheck doctest

我正在使用 doctest ,并且喜欢我可以从定义它们的地方测试非导出函数的事实:

module Foo (frobnicate) where

-- |
-- >>> randomInt = 42
-- True
randomInt :: Int
randomInt = 42

到目前为止,我一直在 test-suite 中保留 QuickCheck 实例,因此 library 不依赖于测试包,但这意味着我无法运行 QuickCheck来自 doctests.

我当然可以不使用 doctest 并从 test-suite 运行 QC,但是我必须导出每个我想测试的函数。

有没有办法让 doctests 使用 QC 实例而不让主 library 依赖于 QC,(并且不重写 doctest“repl”中的实例)?

最佳答案

下面是您正在寻找的确切示例: https://github.com/sol/doctest#quickcheck-properties

只需在设置代码中添加您需要的任何导入即可。

关于haskell - doctest QuickCheck——我可以只在 doctests 中导入 QC 实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52666241/

相关文章:

haskell - 具有类约束类型的值实际上会在运行时成为函数吗?

testing - 用 enzyme 测试 react 组件与上下文 : return an empty object

haskell - 将 Haskell GHCi 输出重定向到文本文件

haskell - 对 GHC 分析器输出中的类型类函数进行拆解

模式匹配中的 Haskell (n+1)

haskell - 快速检查卡生成器

haskell - 将单元测试与 Haskell's Cabal 集成的当前状态?

testing - mock 无法计算 Facade 上的方法调用

haskell - 如何在 Haskell Test.QuickCheck 中有效地生成随机测试

unit-testing - quickCheckAll 总是返回 "True"