传统上,我对生产和测试代码使用相同的文件夹结构,如下所示:
src/myproject/core.clj
test/myproject/core_test.clj
对于我在文件名中添加_test
的测试文件。
我最近注意到有几个项目遵循这种结构(这也是 Leiningen 默认生成的):
src/myproject/core.clj
test/myproject/test/core.clj
是否有关于这一点的约定或使用其中一种的明显优势?
传统上,我对生产和测试代码使用相同的文件夹结构,如下所示:
src/myproject/core.clj
test/myproject/core_test.clj
对于我在文件名中添加_test
的测试文件。
我最近注意到有几个项目遵循这种结构(这也是 Leiningen 默认生成的):
src/myproject/core.clj
test/myproject/test/core.clj
是否有关于这一点的约定或使用其中一种的明显优势?
我相信这只是惯例——我认为这两种方式都没有任何技术优势。
出于完全非技术性的原因,我个人更喜欢第一个版本:
full_system_test.clj
端到端测试*_test.clj
文件进行模式匹配更容易另外值得注意的是,Maven 标准目录布局约定也用于很多 Clojure 项目(如果您构建还包含 Java 源代码的多语言项目,这可能会很方便):
src/main/clojure/myproject/core.clj
src/test/clojure/myproject/core_test.clj
src/main/resources/....
src/test/resources/....