Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Clojure
  3. kaocha

kaocha

EPL-1.0Clojurev1.91.1392

A full-featured next-generation test runner for Clojure with watch mode, filtering, and extensible plugins.

Visit WebsiteGitHubGitHub
860 stars81 forks0 contributors

What is kaocha?

Kaocha is a next-generation test runner for Clojure that provides a comprehensive suite of features for running and managing tests. It solves the problem of fragmented testing workflows by offering a unified, extensible tool that works across multiple build systems and test frameworks.

Target Audience

Clojure developers and teams looking for a modern, feature-rich test runner that integrates seamlessly with their existing toolchain, whether using Clojure CLI, Leiningen, Boot, or Babashka.

Value Proposition

Developers choose Kaocha for its extensibility, watch mode, and tool-agnostic design, which together provide a smoother and more productive testing experience compared to basic built-in test runners.

Overview

Full featured next gen Clojure test runner

Use Cases

Best For

  • Running Clojure and ClojureScript tests with a single tool
  • Implementing test-driven development (TDD) with automatic re-runs on file changes
  • Filtering and focusing on specific tests or namespaces during development
  • Integrating tests into CI/CD pipelines with JUnit XML output
  • Profiling test suites to identify performance bottlenecks
  • Extending test functionality with custom plugins and reporters

Not Ideal For

  • Projects stuck on Clojure versions earlier than 1.9, as Kaocha has a minimum version requirement.
  • Teams relying exclusively on IDE-integrated test runners without command-line tooling needs.
  • Simple applications with basic test suites where advanced features like plugins and watch mode add unnecessary complexity.

Pros & Cons

Pros

Advanced Test Filtering

Supports filtering by test names or metadata, enabling precise test runs with CLI options like --focus, as shown in the quick start examples.

Real-time Watch Mode

Automatically re-runs tests on file changes, providing rapid feedback for test-driven development workflows, highlighted as a core feature.

Tool Agnostic Design

Works with Clojure CLI, Leiningen, Boot, and Babashka, offering consistent testing across different build systems without lock-in.

Extensible Plugin Ecosystem

Allows custom test types and plugins, with a rich set of third-party extensions like kaocha-junit-xml for CI integration, documented in the projects table.

Cons

Configuration Overhead

Requires setting up a tests.edn file for non-standard projects, and the README warns that default assumptions often need adjustment, adding initial complexity.

Verbose Initial Setup

Involves creating binstubs and tool-specific aliases for each build system, which can be cumbersome compared to simpler, out-of-the-box runners.

Plugin Dependency Fragmentation

Core features like JUnit XML output require separate plugins, increasing dependency management and potential version compatibility issues.

Frequently Asked Questions

Quick Stats

Stars860
Forks81
Contributors0
Open Issues40
Last commit9 months ago
CreatedSince 2018

Tags

#developer-tools#clojurescript#test-runner#tdd#bdd#testing#clojure#test-automation#testing-tools

Built With

C
Clojure

Links & Resources

Website

Included in

Clojure2.8k
Auto-fetched 4 hours ago

Related Projects

MidjeMidje

Midje provides a migration path from clojure.test to a more flexible, readable, abstract, and gracious style of testing

Stars1,697
Forks128
Last commit2 years ago
ExpectationsExpectations

A minimalist's unit testing framework ("classic" version)

Stars398
Forks25
Last commit3 years ago
StateFlowStateFlow

Integration testing framework using a state monad in the backend for building and composing flows

Stars390
Forks14
Last commit3 months ago
test-doublestest-doubles

A small spying and stubbing library for Clojure and ClojureScript

Stars36
Forks4
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub