--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Have another +1 for clojure.test. It’s packaged with Clojure and while it’s not especially shiny I find that it gets the job done most of the time in addition to having the best tooling support.
In my latest project,
I’ve been enjoying using org.clojure/test.check,
arguably the most active of the QuickCheck clones for Clojure.
I’ve been very happy with it, especially when paired with lein-cloverage
to report on test coverage. It’s been …. interesting to say the
least to be able to watch how the tests I write compare to the
actual code paths I write. Many corner cases now covered and
eliminated as a result. By way of example: a trivial recursive
decent parser: https://github.com/oxlang/oxlang/blob/master/src/oxlang/parser.clj
and test.check test coverage: https://github.com/oxlang/oxlang/blob/master/test/oxlang/parser_test.clj.
Note that the (defspec) form is
a macro that emits clojure.test test
handles for test.check
properties, so you can get the best of both :D.
Reid
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
Hi Steve,
https://github.com/technomancy/leiningen/wiki/Plugins has a few listed.
There is also the non-specific https://github.com/weavejester/lein-auto as well.
Hope this helps, and good luck testing!
Colin
As a P.S. I did say it was more opinionated, but on hindsight I am not sure that is the right phrase. I meant that it was intentionally simple so there was less room to hang yourself as oppose to midje which is excellent but can more easily accommodate poor behaviour.
For example, in the early days I was particularly susceptible to writing functions which did too much and called too many other functions. With Midje, mocking these other functions was trivial, on hindsight a bit more pain would have been a helpful smell.
I guess you can misuse any tool, and it was my insufficiency not Midje, but sometimes removing the choices is a good thing.