33

我目前正在尝试使用测试驱动开发方法来做一个 Haskell 项目。在 Java 中,我们可以创建一个包含 src 和 bin 文件夹的结构良好的项目,然后有 main 和 test 文件夹用于使用 JUnit 进行单元测试。我只是想知道是否有一种标准方法可以在 Haskell 中获得这样的结构?源文件夹 二进制文件夹,源文件夹中有两个文件夹,一个用于测试,一个用于主源。

4

2 回答 2

26

我的参考始终是Haskell 项目的结构如何编写 Haskell 程序,其中说明了社区或多或少遵循的一些默认设置。到目前为止,它对我来说效果很好,但我的项目还不是很大。

Haskell 项目结构中的建议听起来与您在帖子中概述的内容相似,只是做了一些小的修改,例如 testing 文件夹与 src 文件夹位于同一目录中。

编辑:

cabal init如果您至少有任何带有导入的文件,将为您生成最少的数量,包括具有相关依赖项的 cabal 文件。这是一个很好的开始,但只是您正在寻找的一部分。

理想情况下,随着项目的增长,cabal 文件和目录层次结构将自动保持最新,但我不知道有任何公开的工具会这样做。它在我也许一天的清单上,因为我相信它适用于许多其他人。

-odir并且-hidir可以与 ghc 一起使用,将 *.o 和 *.hi 文件放在不同的目录中。您可以在GHC 用户指南的单独编译部分阅读更多内容)

编辑2:

其他相关/重叠的帖子:

于 2013-01-20T03:38:43.597 回答
3

对此的现代答案是使用Haskell Tool Stack。这将使用健全的默认值为您构建项目。

于 2017-04-24T04:13:20.183 回答