# kaocha {{tag>clojure test}} [[lambdaisland]]/[[kaocha]] is a comprehensive test runner that support unit testing and [[clojure.spec]] generative testing. [[Clojure]] and [[ClojureScript]] languages are supported. ### watch clj -M:test-kaocha --watch ### bin/kaocha 파일 생성 #!/usr/bin/env bash clojure -J-Xmx512m -M:test-kaocha -m kaocha.runner --config-file test/tests.edn "$@" ### test/test/edn 파일 생성 #kaocha/v1 {} ### deps.edn :test/runner {:extra-paths ["test"] :extra-deps {lambdaisland/kaocha {:mvn/version "1.0.700"}} :main-opts ["-m" "kaocha.runner"]} ### Running tests With a [[deps.edn]] project with tests under the standaart [[test]] directory and using [[-test]] postfix on test names, then all that is required is the [[kaocha]] command bin/kaocha ### Plugins Much of the functionality of Kaocha is provide by plugins - [[profiling]] - lists the slowest test for each test category - [[cucumber]] - [[bdd]] style test - [[junit-xml reports]] - format used by Continuouis Integratino servers to display results ### Profiling Show the 3 slwest tests for each category of test, after the test results As a command line option: bin/kaocha --plugin kaocah.plugin/profiling or added to the [[test.edn]] configuration #kaocha/v1 {:plugins [:kaocha.plugin/profiling]} ## Refs - https://github.com/lambdaisland/kaocha - https://practical.li/clojure/testing/test-runners/kaocha-test-runner.html