tutorial - Convención de espacio de nombres de prueba de clojure
clojure tutorial (1)
Creo que esto es solo una convención, no creo que haya ninguna ventaja técnica de ninguna manera.
Personalmente prefiero la primera versión por razones totalmente no técnicas:
- Parece redundante tener dos directorios de "prueba" en la ruta.
- Puede causar confusión tener los archivos de prueba .clj con los mismos nombres que los archivos principales .clj
- A veces desea crear pruebas que no se
full_system_test.clj
perfectamente con espacios de nombres específicos, por ejemplo,full_system_test.clj
parafull_system_test.clj
de extremo a extremo - Es más fácil hacer coincidir patrones en todos los archivos
*_test.clj
También vale la pena señalar que la convención de diseño de directorio estándar de Maven también se usa en bastantes proyectos de Clojure (esto puede ser útil si crea proyectos políglotas que también contienen código fuente de Java):
src/main/clojure/myproject/core.clj
src/test/clojure/myproject/core_test.clj
src/main/resources/....
src/test/resources/....
Tradicionalmente, he usado la misma estructura de carpetas para la producción y el código de prueba como se muestra a continuación:
src/myproject/core.clj
test/myproject/core_test.clj
Para los archivos de prueba he añadido _test
en el nombre de archivo.
Recientemente noté que varios proyectos siguen esta estructura (esto también es lo que Leiningen genera de forma predeterminada):
src/myproject/core.clj
test/myproject/test/core.clj
¿Existe alguna convención con respecto a esto o alguna ventaja clara de usar una sobre la otra?