This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-09-10
Channels
- # announcements (16)
- # aws (1)
- # babashka (2)
- # beginners (33)
- # biff (2)
- # clj-kondo (13)
- # cljs-dev (1)
- # cljsrn (3)
- # clojars (6)
- # clojure (198)
- # clojure-australia (3)
- # clojure-europe (41)
- # clojure-france (3)
- # clojure-nl (2)
- # clojure-spec (7)
- # clojure-uk (12)
- # clojurescript (57)
- # clojureverse-ops (1)
- # code-reviews (3)
- # community-development (2)
- # conjure (10)
- # data-science (1)
- # datomic (15)
- # depstar (2)
- # docker (2)
- # etaoin (1)
- # events (1)
- # exercism (5)
- # fulcro (23)
- # helix (23)
- # introduce-yourself (4)
- # jobs (6)
- # kaocha (1)
- # lsp (11)
- # meander (107)
- # off-topic (8)
- # pathom (3)
- # polylith (33)
- # re-frame (23)
- # reagent (7)
- # reitit (28)
- # remote-jobs (3)
- # sci (1)
- # shadow-cljs (2)
- # specter (5)
- # sql (38)
- # tools-deps (72)
- # web-security (9)
- # xtdb (32)
ok.. I made a lot of progress.... I now have my tests looking like this
(deftest my-gen-test (is (= [](stest/check `ranged-rand))))
and this fails as expected when I call run-tests
from cljs.test
> (run-tests)
Testing cljs.user
FAIL in (my-gen-test2) (repl-input.cljs:1:27)
expected: (= [] (stest/check (quote cljs.user/ranged-rand)))
actual: (not (= [] [{:spec #object[cljs.spec.alpha.t_cljs$spec$alpha38994], :clojure.spec.test.check/ret {:shrunk {:total-nodes-visited 4, :depth 2, :pass? false, :result #error {:message "Specification-based check failed", :data {:cljs.spec.alpha/problems [{:path [:fn], :pred (cljs.core/fn [%] (cljs.core/>= (:ret %) (cljs.core/-> % :args :start))), :val {:args {:start -3, :end 0}, :ret -4}, :via [], :in []}], :cljs.spec.alpha/spec #object[cljs.spec.alpha.t_cljs$spec$alpha38456], :cljs.spec.alpha/value {:args {:start -3, :end 0}, :ret -4}, :cljs.spec.test.alpha/args (-3 0), :cljs.spec.test.alpha/val {:args {:start -3, :end 0}, :ret -4}, :cljs.spec.alpha/failure :check-failed}}, :result-data {:clojure.test.check.properties/error #error {:message "Specification-based check failed", :data {:cljs.spec.alpha/problems [{:path [:fn], :pred (cljs.core/fn [%] (cljs.core/>= (:ret %) (cljs.core/-> % :args :start))), :val {:args {:start -3, :end 0}, :ret -4}, :via [], :in []}], :cljs.spec.alpha/spec #object[cljs.spec.alpha.t_cljs$spec$alpha38456], :cljs.spec.alpha/value {:args {:start -3, :end 0}, :ret -4}, :cljs.spec.test.alpha/args (-3 0), :cljs.spec.test.alpha/val {:args {:start -3, :end 0}, :ret -4}, :cljs.spec.alpha/failure :check-failed}}}, :time-shrinking-ms 2, :smallest [(-3 0)]}, :failed-after-ms 7, :num-tests 5, :seed 1631262481706, :fail [(-6 -1)], :result #error {:message "Specification-based check failed", :data {:cljs.spec.alpha/problems [{:path [:fn], :pred (cljs.core/fn [%] (cljs.core/>= (:ret %) (cljs.core/-> % :args :start))), :val {:args {:start -6, :end -1}, :ret -9}, :via [], :in []}], :cljs.spec.alpha/spec #object[cljs.spec.alpha.t_cljs$spec$alpha38456], :cljs.spec.alpha/value {:args {:start -6, :end -1}, :ret -9}, :cljs.spec.test.alpha/args (-6 -1), :cljs.spec.test.alpha/val {:args {:start -6, :end -1}, :ret -9}, :cljs.spec.alpha/failure :check-failed}}, :result-data {:clojure.test.check.properties/error #error {:message "Specification-based check failed", :data {:cljs.spec.alpha/problems [{:path [:fn], :pred (cljs.core/fn [%] (cljs.core/>= (:ret %) (cljs.core/-> % :args :start))), :val {:args {:start -6, :end -1}, :ret -9}, :via [], :in []}], :cljs.spec.alpha/spec #object[cljs.spec.alpha.t_cljs$spec$alpha38456], :cljs.spec.alpha/value {:args {:start -6, :end -1}, :ret -9}, :cljs.spec.test.alpha/args (-6 -1), :cljs.spec.test.alpha/val {:args {:start -6, :end -1}, :ret -9}, :cljs.spec.alpha/failure :check-failed}}}, :failing-size 4, :pass? false}, :sym cljs.user/ranged-rand, :failure #error {:message "Specification-based check failed", :data {:cljs.spec.alpha/problems [{:path [:fn], :pred (cljs.core/fn [%] (cljs.core/>= (:ret %) (cljs.core/-> % :args :start))), :val {:args {:start -3, :end 0}, :ret -4}, :via [], :in []}], :cljs.spec.alpha/spec #object[cljs.spec.alpha.t_cljs$spec$alpha38456], :cljs.spec.alpha/value {:args {:start -3, :end 0}, :ret -4}, :cljs.spec.test.alpha/args (-3 0), :cljs.spec.test.alpha/val {:args {:start -3, :end 0}, :ret -4}, :cljs.spec.alpha/failure :check-failed}}}]))
Ran 1 tests containing 1 assertions.
1 failur
I wonder if there's an existing cljs.test
function that can check if stest.check
fails and show me log the results
I also think I can write a custom function... for this one using test/abbrev-result
... but I wonder if there's something there already
https://github.com/borkdude/respeced has some utilities for this.