18

私は従来、以下に示すように、本番コードとテストコードに同じフォルダー構造を使用していました。

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

テストファイルの場合_test、ファイル名に追加しました。

最近、いくつかのプロジェクトがこの構造に従っていることに気付きました(これは、Leiningenがデフォルトで生成するものでもあります)。

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

これに関する慣習や、一方を他方よりも使用することの明確な利点はありますか?

4

1 に答える 1

18

これは単なる慣例だと思います。どちらにしても技術的な利点はないと思います。

私は個人的に、完全に技術的でない理由で最初のバージョンを好みます。

  • パスに2つの「テスト」ディレクトリがあるのは冗長なようです。
  • メインの.cljファイルと同じ名前のテスト.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/....
于 2012-09-20T12:03:05.000 に答える