Are*_* Fu 4 testing haskell unit-testing quickcheck build-dependencies
假设我有一个名为 的 Haskell 模块Foo,在src/Foo.hs. 还假设Foo导出一个类型Bar。
现在我想为Bar(Foo实际上是整个模块)编写单元测试,所以我将几个 QuickCheck 属性放入test/FooTest.hs; 但是,嘿,现在我需要Arbitrary为Bar.
还有一个问题:在-Wall -Werror模式中,ghc需要实例声明出现在两个地方之一:在定义类型的同一个文件中,或者在定义类的地方。但我不想让我的Foo模块与 QuickCheck 的构建依赖关系混乱,而且我显然无法Bar向 QuickCheck添加实例。
那么如何使我的数据类型成为 的实例Arbitrary,仅用于单元测试,而不为我的模块的用户引入对 QuickCheck 的依赖,并且不会抛出-Wall -Werror窗口?
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |