Ответ 1
В соответствии с созданием Leiningen для вас Филом Хагельбергом, функция test-selectors
была добавлена в Leiningen в версии 1.4.
Два простых шага. Сначала добавьте это к project.clj
:
:test-selectors {:default (complement :slow)
:slow :slow
:all (constantly true)}
Во-вторых, отметьте свой тест метаданными:
(deftest ^:slow ackermann-slow-test
(testing "ackermann (slow)"
(are [m n e] (= (ack-3 m n) e)
3 3 61
3 4 125
4 0 13
4 1 65533)))
Теперь у вас есть три варианта запуска тестов:
⚡ lein test
⚡ lein test :slow
⚡ lein test :all
Кроме того, эту информацию легко найти с помощью lein test -h
:
Запустите тесты проекта.
Маркировка deftest или ns форм с помощью метаданных позволяет вам выбирать селектор для указания подмножества вашего тестового набора для запуска:
(deftest ^:integration network-heavy-test (is (= [1 2 3] (:numbers (network-operation)))))
Записать селекторов в project.clj:
:test-selectors {:default (complement :integration) :integration :integration :all (constantly true)}
Аргументы для этой задачи будут считаться тестовыми селекторами, если они ключевые слова, в противном случае аргументы должны быть тестовыми пространствами имен или файлами для запуска. Без аргументов используется: селектор теста по умолчанию, если он присутствует, в противном случае все тесты выполняются. Аргументы тестового селектора должны появиться после список пространств имен.
По умолчанию: для запуска выборочных тестов доступен только тестовый селектор. Для пример,
lein test :only leiningen.test.test/test-default-selector
выполняется только указанный тест. По умолчанию: весь тестовый селектор доступный для запуска всех тестов.Аргументы: ([& тесты])