Fork me on GitHub

@qqq I think the appeal of Midje is that it appears to have all the bells and whistles anyone could ever need. However, when it comes to testing, often simpler is better. A testing library can be about 100 lines of code.


IMO you don't need a testing DSL, if your base language is good enough. Which Clojure is.


And like every library Midje offers a tradeoff: a DSL and new semantics for easier to read tests. I think that's the tradeoff that many new developers don't see, and so they think Midje will just make their code more understandable. But in reality it's a DSL, and the new semantics will come back to bite them in the future.


@tbaldridge love your “hate" for DSLs !


I'm trying to tone that down. As I stated in my ClojureWest talk, libraries offer value in exchange for a tradeoff. A DSL is a new language and semantics, so I rank it rather high on the tradeoffs list.


Some are worth the cost of learning, like logic or query DSLs.


your talk is great ! I recognized some pattern from your Youtube channel


@tbaldridge : so what do you use then? spec? or something else?


@tbaldridge : what do you use for testing if not midje ?


Testing, I use Clojure.test although even that could be simpler.


For testing all you really need is an assert and a way to gather and run tests.