如何在Haskell中分离生产和测试代码

men*_*ics 9 haskell unit-testing

在其他语言中,我喜欢将我的单元测试放在与生产代码不同的目录结构中,以保持清晰的分离.在Haskell中有一个典型的约定,如何做到这一点或类似的东西?

amc*_*usl 3

http://www.haskell.org/haskellwiki/Structure_of_a_Haskell_project上有一个典型的约定。

此外,您可以将测试版本添加到主 cabal,如https://github.com/ekmett/speculation/blob/master/speculation.cabal中所示

单独的阴谋集团方法有一些好处。也就是说,像数据类型的快速检查生成器这样的测试方法可以在第二个项目测试风格的 cabal 中使用,如果其他人在他们的项目中使用您的数据结构,则可以导入这些方法,但我更喜欢单一 cabal 方法。但这取决于您的图书馆的目的。

Haskell 测试工作流程对于获取更多测试信息非常有用。