(with-test definition & body)
Takes any definition form (that returns a Var) as the first argument. Remaining body goes in the :test metadata function for that Var. When *load-tests* is false, only evaluates the definition, ignoring the tests.
;with test is the same as using {:test #((is...)(is...))} in the meta data of the function.
(:use 'clojure.test)
(with-test
(defn my-function [x y]
(+ x y))
(is (= 4 (my-function 2 2)))
(is (= 7 (my-function 3 4))))
(test #'my-function) ;(test (var my-function))
=> :ok