Немного опоздал на вечеринку, я знаю, но если вы используете Leiningen, вы можете использовать тестовые селекторы, чтобы исключить ожидаемые сбои из "нормальной" сборки. В вашем проекте .clj:
:test-selectors {:default #(not :expected-failure %)
:expected-failure :expected-failure}
Затем напишите свой тест как:
(deftest ^:expected-failure test-with-expected-failure ...)
Вызов lein test
запустит только те тесты без метаданных: ожидаемый сбой. Звонок lein test :expected-failure
запустит ожидаемые тесты на отказ. Возможно, не совсем то, на что вы надеялись, но ИМХО лучше, чем использовать thrown?
повсюду. По крайней мере, таким образом, ожидаемые сбои явно документированы в коде и не будут мешать сборке.