A Leiningen plugin that will magically re-run all your tests when a file changes.
- Uses the builtin clojure.test test runner so you don't need to rewrite your tests
- Tools.namespace will unload and reload namespaces as needed to keep process in sync
- Runs every time a clojure file in your project changes
- Uses (Clansi)[https://github.com/ams-clj/clansi] to show a red or green bar to know if you tests are passing
- Filters out exception stacktraces to remove cruft
- Pass in a test matcher to change which tests are run from the command line.
Use this for project-level plugins:
[quickie "0.4.1"] into the
:plugins vector of your project.clj.
Autotest Usage (quickie)
Will rerun your test namespaces as clojure files in your project change
By default all namespaces in your classpath that contain your project name and end with the word
test will be tested on each run. To change this, add a line like this to your project.clj:
:test-matcher #"my regular expression". Alternatively, you can call quickie via the command line with the regex you wish to use:
lein quickie "my-project.*\.test\..*".
Hit ctrl+c whenever you are done. Have fun!
Parallel Testing Usage (quickp)
Will run your tests across across multiple threads (currently set to 20).
Running tests against multiple threads could cause test failures. If you use
with-redefs in your tests you will needs to switch over to something like
with-local-redefs as seen on this gist.
Copyright © 2015 Jake Pearson
Distributed under the Eclipse Public License, the same as Clojure.
- Adam Esterline
- Jeff Smith
- Russ Teabeault
- Chris Perkins
- Jake Pearson