Clojure (deps.edn) отдельные интеграционные тесты - PullRequest
2 голосов
/ 12 октября 2019

Как настроить deps.edn, чтобы запускать интеграционные тесты отдельно от модульных тестов?

У меня есть следующее дерево проектов:

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

Желаемое поведение:

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

Попытка конфигурации:

{: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"]}}}

Фактическое поведение:

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

1 Ответ

2 голосов
/ 12 октября 2019

Нам нужно добавить tests.edn файл:

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

и добавить ссылки на идентификаторы тестов, определенные выше, в 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"]}}}

Источник: lambdaisland/kaocha

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...