我传统上在生产和测试代码中使用相同的文件夹结构,如下所示:
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
文件的模式还值得注意的是,在相当多的Clojure项目中也使用Maven标准目录布局约定(如果您构建包含Java源代码的多语言项目,则此举可能很方便):
src/main/clojure/myproject/core.clj
src/test/clojure/myproject/core_test.clj
src/main/resources/....
src/test/resources/....