# The best test runner? kaocha or something else?

**URL:** https://clojureverse.org/t/the-best-test-runner-kaocha-or-something-else/9746
**Category:** General Questions
**Created:** [January 27, 2023, 2:43pm UTC](https://clojureverse.org/t/the-best-test-runner-kaocha-or-something-else/9746 "2023-01-27T14:43:23Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![borkdude](https://clojureverse.org/user_avatar/clojureverse.org/borkdude/32/306_2.png) [@borkdude](https://clojureverse.org/u/borkdude)
#### Post date: [January 27, 2023, 4:27pm UTC](https://clojureverse.org/t/the-best-test-runner-kaocha-or-something-else/9746/2 "2023-01-27T16:27:07Z")

</div>

I tend to use the [cognitect test runner](https://github.com/cognitect-labs/test-runner) a lot too which is the most basic one for `deps.edn` projects. For getting better output when matching data structures, check out [matcher-combinators](https://github.com/nubank/matcher-combinators). That works with any test runner. You can implement failing fast pretty easily yourself ([example](https://github.com/babashka/babashka/blob/b2855d1212dc9d70dff54e3b79b7d58b58613ede/test/babashka/test_utils.clj#L34-L44)). Kaocha comes with those features out of the box.

[eftest](https://github.com/weavejester/eftest) is pretty good too.

For testing CLJS, I like [cljs-test-runner](https://github.com/Olical/cljs-test-runner) a lot since it’s API-compatible with the Cognitect test runner and works well with advanced compilation.

---

_[View the full topic](https://clojureverse.org/t/the-best-test-runner-kaocha-or-something-else/9746)._
