Я хотел бы использовать спецификации clojure для проверки ввода моих функций (по крайней мере, во время разработки). До сих пор я сделал следующее: я определил спецификации и в начале функций я поставил утверждения, как в этом примере:
(defn foo [bar]
(s/assert ::bar bar)
(do-something-with bar))
где s
- псевдоним clojure.spec.alpha
. По умолчанию эти утверждения, по-видимому, отключены (при запуске модульных тестов с midje ). Я могу включить их, поместив (s/check-asserts true)
в один из моих файлов. Я не уверен, какова будет тогда область действия этого параметра. Мне кажется неправильным помещать его просто в один из исходных файлов, хотя пока мне кажется, что он работает.
Какой рекомендуемый способ включить эти утверждения глобально во время тестирования, но отключить их приразвертывание приложения?