kaocha

Official support channel: https://clojureverse.org/c/projects/kaocha
svt 2020-09-10T08:30:26.008200Z

What are the benefits of kaocha over eftest??

plexus 2020-09-10T09:14:50.011400Z

Depends what your needs are. If eftest is good enough for you then maybe that's fine. Kaocha is a much more general and extensible test runner. It can run many types of test (not just clojure.test), has an ecosystem of plugins, flexible filtering, CI integration through junit.xml etc.

plexus 2020-09-10T09:15:36.012100Z

whereas eftest iirc has parallelized tests, that's something Kaocha hasn't gotten to yet

borkdude 2020-09-10T11:09:36.012500Z

and koacha2 is going to work on CLJS (advanced), so suitable for .cljc projects, whereas eftest is clj only?

plexus 2020-09-10T11:12:36.013300Z

yeah that's what I mean with "not just clojure.test", it does clojurescript, also cucumber. It kinda does midje but not very well...

borkdude 2020-09-10T11:13:18.013700Z

ah, CLJS also has the clojure.test namespace, so I didn't get that.

plexus 2020-09-10T11:15:00.015Z

right, although it's actually an alias for cljs.test... kind of confusing, but yeah the default kaocha clojure test suite type is :kaocha.type/clojure.test to distinguish it from non-clojure.test CLJ test types

plexus 2020-09-10T11:16:01.016Z

although the trend there is for these to be clojure.test compatible (fudje, the "new" expectations), which makes our lives easier but can lead to further confusion

svt 2020-09-10T12:30:21.016400Z

Thanks @plexus @borkdude it helped

practicalli-john 2020-09-10T14:04:19.020200Z

@cksharma122 I started using kaocha as it also has plugins to run generative tests, i.e clojure.spec as well as unit tests. It also supports generating junit XML to use with CI dashboards and electronic wallboard.

plexus 2020-09-10T14:08:39.021800Z

just put out a new release, not much to be seen. It adds a :debug plugin in case you really need to see what's going on under the hood, and it fixes a small issue in the filtering plugin so this works (kaocha.repl/run {:kaocha.filter/skip [:unit]}) (that is to say, this will completely skip loading the :unit suite, before it would skip running it, but it would still load it)

plexus 2020-09-10T14:09:04.022400Z

also did some tweaks to the docs, seems we had a few plugins that weren't mentioned yet in the plugin docs (orchestra, preloads)

👍 1
plexus 2020-09-10T14:10:16.023300Z

> has plugins to run generative tests that's on my todo list to split off into its own repo/artifact, and to have a better look at it. It's contributed code that I'm not very familiar with. Just a heads up.

practicalli-john 2020-09-10T15:38:30.023500Z

the kaocha.plugin.alpha/spec-test-check plugin supports my simple use of generative tests. Any improvments are always welcome. I've also used it with the kaocha orb on CircleCI without issue so far. Happy to test any updates and report back.