I noticed a difference in using the for-all and checking forms available in com.gfredericks.test.chuck.clojure-test, seems that for-all will give one assertion error on the shrunk result where checking will give one for each failing is. Is that expected? I was hoping for-all would give the same kind of reporting.
(defspec test-test
(for-all [x (gen/return 1)]
(is (zero? x))))
(deftest test-test
(checking "fails" 1 [x (gen/return 1)]
(is (zero? x)))) @colinkahn It’s expected: for-all is a single assertion — that the property holds for all values tested — so it will either pass or fail as a whole: is just checks the expression; checking runs the whole body it is passed — which can contain any number of assertions — and in that context each is runs as a regular assertion. Does that help?
@seancorfield I knew for-all in test.check worked that way but figured the test.chuck one wasn't limited to a single assertion and would report them all. https://github.com/gfredericks/test.chuck#alternate-clojuretest-integration
It is just a minor inconvenience if that's the case though, I like the fact that I can get the :smallest from the return of defspec in the REPL, but also wanted the reporting available in checking.