The next course will be about clojure.test. Sign up to be notified when it is published.
Setting up and tearing down a test database can be slow. Use a rolled back transaction to quickly reset the database to a known state. You can do that in an `:each` fixture to run each test in isolation.
I made a clojure.test cheatsheet that you can get for free.
Where to put your tests is a common question. You could put them anywhere, but you want to pick a place that makes it easy to find, easy to exclude from production, and work well with your tools. My recommendation is to follow what most projects do, which takes care of all of these requirements.
LispCast Intro to clojure.test will launch this week.
Ashton Kemerling will talk about Generative Integration Tests.
Ashton Kemerling interview about generative testing.
Ryan Neufeld will talk about simulation testing.
TDD is about fast feedback. CIDER tightens the feedback loop with quick commands for running tests and a powerful test reporting system.
Although it's still early, ClojureScript is rapidly maturing its testing story. There are a Leiningen plugin and a Boot task for autocompiling ClojureScript as it changes and running tests in a variety of engines.