This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-02-17
Channels
- # announcements (3)
- # babashka (41)
- # beginners (118)
- # calva (4)
- # cider (22)
- # clj-kondo (4)
- # clj-on-windows (1)
- # clj-together (1)
- # clojure (164)
- # clojure-europe (46)
- # clojure-filipino (1)
- # clojure-indonesia (1)
- # clojure-my (1)
- # clojure-nl (3)
- # clojure-sg (1)
- # clojure-spec (13)
- # clojure-uk (16)
- # clojurescript (18)
- # cloverage (3)
- # conjure (5)
- # core-async (8)
- # cursive (21)
- # datomic (4)
- # deps-new (15)
- # emacs (12)
- # expound (4)
- # fulcro (45)
- # graalvm (32)
- # jobs (1)
- # malli (5)
- # nextjournal (63)
- # off-topic (27)
- # other-languages (3)
- # pathom (27)
- # proletarian (1)
- # rdf (24)
- # re-frame (10)
- # reagent (9)
- # releases (2)
- # shadow-cljs (72)
- # spacemacs (4)
- # timbre (4)
- # tools-deps (29)
- # xtdb (4)
hey all, I typically run my test suite via lein test
and use a pretty vanilla clojure.test
setup
is there a way to easily integrate expound?
(ns foo.core-test
(:require [clojure.spec.alpha :as spec]
[clojure.test :as test :refer :all]
[expound.alpha :as expound]
[orchestra.spec.test :as spectest]))
(spec/check-asserts true)
(spectest/instrument)
(set! spec/*explain-out* expound/printer)
(deftest foo-test
...)
I've attempted something like the above but I'm still seeing default spec error reportsYou need to register some specific report to handle errors of type :error
. Here’s how clojure.test
handles errors
https://github.com/clojure/clojure/blob/35bd89f05f8dc4aec47001ca10fe9163abc02ea6/src/clj/clojure/test.clj#L717-L720
e.g. you’d override this multi-method https://github.com/clojure/clojure/blob/35bd89f05f8dc4aec47001ca10fe9163abc02ea6/src/clj/clojure/test.clj#L717-L720
Here’s some code to get you started https://github.com/bhb/expound#manual-clojuretestreport-override