我正在Haskell中开发一个库,我希望以Haddock兼容的方式记录并一度上传到Hackage。我已经阅读过有关使用Cabal框架以及HUnit和Quickcheck进行测试的内容,但在我阅读过的所有教程中,似乎都有一个单独的目录,并将测试用例放在一个单独的文件中,导入原始文件。
我知道这有时候可能是合适的,但我也认为只是简单的测试,将它们放在与实现相同的文件中会更简单。实际上,文档与实现有关,为什么不进行测试呢?
有人能指出我实现这一目标的最佳方式,理想情况是:
我知道这是一个模糊的问题,即使是某些教程和/或代码的一些链接也可以用来测试这样的测试用例。
答案 0 :(得分:1)
我danidiaz suggestion的doctest
lens
。我已经(看过它)在{{3}}中使用它并且效果很好IMO测试只是Haddock注释,所以除非你正在运行doctest,否则甚至都没有编译。
答案 1 :(得分:0)
(QuickCheck)测试用例,这就是每个测试套件都有自己的可执行文件的原因。我认为你是正确的,它会有助于文档,但它是可运行的代码 - 这就是为什么我们不希望它污染我们的库。
说实话,类型系统适合作为一个体面的内联测试框架" - 通过建设性地证明您的代码在类型系统中是正确的,您甚至比测试用例更进一步。