2014-10-16 3 views
2

Как выполнить все тесты проекта leiningen от REPL? Leiningen's lein test делает это. Как это сделать из REPL?Как запустить все тесты проекта из REPL?

+0

Любая идея, почему вы не хотите использовать Leiningen или Maven, например? – Chiron

+1

@Chiron Я могу придумать одну причину, чтобы выбрать замену на maven или lein: при разработке, запуск тестов из REPL, как правило, на порядок выше по сравнению с лейн-тестом. –

+0

@JoostDiepenmaat, пожалуйста, обратите внимание, что я не сказал, что это глупая идея. – Chiron

ответ

4

Вы можете запустить все загруженные в настоящее время тесты, позвонив по телефону (clojure.test/run-all-tests).

Обратите внимание, что это не автоматически загрузить тесты, которые вы хотите запустить. Если ваши тесты могут быть выполнены с помощью теста lein, вы должны иметь возможность require тестовых пространств имен, как и любое другое пространство имен.

Если вы используете Emacs с сидр, вы также должны быть в состоянии сделать C-c , в пространстве имен, чтобы выполнить свои тесты (это будет нагрузку, тест, если он не был загружен ранее).

+0

'run-all-tests' запускает тесты зависимостей. По крайней мере, он печатает 'Testing x' для каждой зависимости. «lein test» сравнивает только тесты, определенные в текущем проекте leiningen. –

+0

Я думаю, что недостающая часть узнает, какие тесты на самом деле являются частью «текущего проекта», а clojure.test не связан с понятием проектов, просто с тем, что загружено в текущую программу clojure (большую часть времени , тесты зависимостей не загружаются, но проверяются тесты для каждого загруженного пакета). Мой текущий рабочий процесс - запустить «cider-test-run-tests» от Emacs для быстрой проверки/обратной связи кода в текущем пакете и запустить «lein test», чтобы протестировать весь проект из свежих в фоновом режиме. –

+0

Согласен. Я намерен задать еще один вопрос о том, как получить список пространств имен текущего проекта. –

Смежные вопросы