gpt4 book ai didi

Clojure 测试命名空间约定

转载 作者:行者123 更新时间:2023-12-02 08:17:03 26 4
gpt4 key购买 nike

我传统上对生产和测试代码使用相同的文件夹结构,如下所示:

src/myproject/core.clj
test/myproject/core_test.clj

对于测试文件,我在文件名中添加了 _test

我最近注意到有几个项目遵循这种结构(这也是 Leiningen 默认生成的):

src/myproject/core.clj
test/myproject/test/core.clj

是否有关于此的约定或使用其中一种相对于另一种的明显优势?

最佳答案

我相信这只是惯例 - 我认为这两种方式都没有任何技术优势。

出于完全非技术原因,我个人更喜欢第一个版本:

  • 路径中存在两个“测试”目录似乎是多余的。
  • 测试 .clj 文件与主 .clj 文件同名可能会导致困惑
  • 有时您想要创建与特定命名空间不完全一致的测试,例如full_system_test.clj 用于端到端测试
  • 在所有 *_test.clj 文件上进行模式匹配更加容易

还值得注意的是 Maven standard directory layout convention也在相当多的 Clojure 项目中使用(如果您构建也包含 Java 源代码的多语言项目,这会很方便):

src/main/clojure/myproject/core.clj
src/test/clojure/myproject/core_test.clj
src/main/resources/....
src/test/resources/....

关于Clojure 测试命名空间约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12511985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com