very cool :) On 3/28/09, Stuart Sierra <the.stuart.sie...@gmail.com> wrote: > > Hi folks, > I finally came up with fixtures for clojure.contrib.test-is. Now you > can do before/after setup for each test case. Here's the > documentation, let me know what you think. > -Stuart Sierra > > ;; FIXTURES (new) > ;; > ;; Fixtures allow you to run code before and after tests, to set up > ;; the context in which tests should be run. > ;; > ;; A fixture is just a function that calls another function passed > as > ;; an argument. It looks like this: > (defn my-fixture [f] > ;; Perform setup, establish bindings, whatever. > (f) ;; Then call the function we were passed. > ;; Tear-down / clean-up code here. > ) > > ;; Fixtures are attached to namespaces in one of two ways. "each" > ;; fixtures are run repeatedly, once for each test function created > ;; with "deftest" or "with-test". "each" fixtures are useful for > ;; establishing a consistent before/after state for each test, like > ;; clearing out database tables. > ;; > ;; "each" fixtures can be attached to the current namespace like > this: > (use-fixtures :each fixture1 fixture2 ...) > ;; The fixture1, fixture2 are just functions like the example above. > ;; They can also be anonymous functions, like this: > (use-fixtures :each (fn [f] setup... (f) cleanup...)) > ;; > ;; The other kind of fixture, a "once" fixture, is only run once, > ;; around ALL the tests in the namespace. "once" fixtures are > useful > ;; for tasks that only need to be performed once, like establishing > ;; database connections, or for time-consuming tasks. > ;; > ;; Attach "once" fixtures to the current namespace like this: > (use-fixtures :once fixture1 fixture2 ...) > > > >
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---