Any failing clojure.test/is assertions where non-string objects are passed in the second argument will cause the test run to fall over with a ClassCastException (it appears to retry several times).
To reporduce, run the following test with Run Test Under Caret in REPL or Run Tests in Current NS in REPL. It will break on the third assertion; gutter icons will appear for the first two assertions, but nothing after.
(deftest my-test
(is false "msg")
(is true {:hello "there"})
(is false {:hello "again"}) ;; breaks here
(is true))
It would be great if cursive could handle this more gracefully as it can be quite awkward in projects where this is commonplace.
My current workaround is to hijack clojure.test/assert-expr and add a pr-str to msg:
(defonce assert-expr* assert-expr)
(.bindRoot (var assert-expr) (fn [msg form] (assert-expr* (pr-str msg) form)))
Any failing
clojure.test/isassertions where non-string objects are passed in the second argument will cause the test run to fall over with aClassCastException(it appears to retry several times).To reporduce, run the following test with
Run Test Under Caret in REPLorRun Tests in Current NS in REPL. It will break on the third assertion; gutter icons will appear for the first two assertions, but nothing after.It would be great if cursive could handle this more gracefully as it can be quite awkward in projects where this is commonplace.
My current workaround is to hijack
clojure.test/assert-exprand add apr-strtomsg: