This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-03-24
Channels
- # announcements (26)
- # babashka (1)
- # beginners (174)
- # calva (1)
- # cider (10)
- # clj-kondo (27)
- # cljtogether (1)
- # clojars (8)
- # clojure (57)
- # clojure-australia (1)
- # clojure-czech (2)
- # clojure-europe (40)
- # clojure-germany (15)
- # clojure-nl (3)
- # clojure-serbia (6)
- # clojure-uk (11)
- # clojurescript (30)
- # conjure (2)
- # cursive (8)
- # datalog (16)
- # datomic (29)
- # emacs (33)
- # etaoin (1)
- # events (2)
- # fulcro (81)
- # funcool (2)
- # integrant (3)
- # jobs (2)
- # joker (2)
- # kaocha (15)
- # lsp (19)
- # malli (8)
- # membrane (1)
- # off-topic (57)
- # pathom (2)
- # reitit (10)
- # releases (1)
- # remote-jobs (2)
- # reveal (5)
- # shadow-cljs (14)
- # sql (11)
- # tools-deps (8)
- # vim (3)
anyone around here actively uses the nubank/matcher-combinators
lib? I'd like to know if it breaks your cider's clojure.test integration (of if it's only for me - I use an odd/old cider)
Yes, I do, and the ANSI color codes don’t render correctly. A coworker has a bit of elisp to fix it, let me find it.
for me the biggest issue is false negatives: tests based on match?
report success even if not passing
the weird thing is that ultimately matcher-combinators uses clojure.test, so when properly using clojure.test, things should just work :) i.e. CIDER (old and new) is smart enough to integrate with arbitrary frameworks as long as they use clojure.test properly
Hi @U45T93RA6, for the false positives, you can check if the code isn't forgetting to assert the match (is (match? ...))
instead of just (match? ...)
, I've been bitten by this in the past
turns out:
* cider has its own report
multimethod
* cider manually defines a custom defmethod
for matcher-combinators:
https://github.com/clojure-emacs/cider-nrepl/blob/cd29bd761e58707d438b3373d7512c9e33ded865/src/cider/nrepl/middleware/test.clj#L177-L181
as mentioned in my OP, my cider is older than current.
Anyway honestly a few things seem off to me (why use a custom :matcher-combinators/mismatch
dispatch value? why cider has to create its own API that doesn't leverage 3rd party clojure.test integrations automatically?)