¿Cómo se configura deps.edn para ejecutar las pruebas de integración por separado de las pruebas unitarias?

Tengo el siguiente árbol de proyectos:

.
├── deps.edn
├── src
│       (...)
├── test
│   └── package
│       └── test.clj
└── it
    └── package
        └── integration_test.clj

Comportamiento deseado:

clj -Atest #runs unit tests only
clj -Ait   #runs integration tests only

Intento de configuración:

{:deps    (...)}
 :aliases {:test {:extra-paths ["test"]
                  :extra-deps  {lambdaisland/kaocha {:mvn/version "0.0-529"}}
                  :main-opts   ["-m" "kaocha.runner"]}
           :it {:extra-paths ["it"]
                :extra-deps  {lambdaisland/kaocha {:mvn/version "0.0-529"}}
                :main-opts   ["-m" "kaocha.runner"]}}}

Comportamiento real:

clj -Atest #runs unit tests only
clj -Ait   #runs unit tests only
2
Vituel 12 oct. 2019 a las 01:42

1 respuesta

La mejor respuesta

Necesitamos agregar un archivo tests.edn:

#kaocha/v1
{:tests [{:id          :unit
          :test-paths  ["test"]
          :ns-patterns [".*"]}
         {:id          :integration
          :test-paths  ["it"]
          :ns-patterns [".*"]}]}

Y agregue referencias a los ID de prueba definidos anteriormente en deps.edn:

{:deps    (...)}
 :aliases {:test {:extra-paths ["test"]
                  :extra-deps  {lambdaisland/kaocha {:mvn/version "0.0-529"}}
                  :main-opts   ["-m" "kaocha.runner" "unit"]}
           :it {:extra-paths ["it"]
                :extra-deps  {lambdaisland/kaocha {:mvn/version "0.0-529"}}
                :main-opts   ["-m" "kaocha.runner" "integration"]}}}

Fuente: lambdaisland/kaocha

2
Vituel 12 oct. 2019 a las 11:34