Fork me on GitHub
#midje
<
2023-02-07
>
Phillip Mates16:02:08

Hi folks, just discovered this channel and figured I'd say hello. I took over maintenance responsibilities for Midje a few years ago while I was working at Nubank, which, at the time was using Midje heavily. To give some context on where Midje is at these days: I still (try to) keep up on issues and support but generally wouldn't recommend it for new projects. At Nubank we re-implemented the best parts of Midje as a series of smaller composeable libraries: - matcher-combinators for asserting over nested data-structures in a declarative way (https://github.com/nubank/matcher-combinators). Similar to Midje's checkers but with better failure reports - mock-fn, similar to mocking in Midje, but even more expressive (https://github.com/nubank/mockfn) These, when combined with clojure.test, gives you most of what Midje had (except for autotest rerunning, which Kaocha may add one day as sketeched in https://github.com/lambdaisland/kaocha/pull/284). Notably, we didn't carry over the following aspects of Midje into the new tools: - loading a namespace mixes code evaluation and test execution effects. This can get in the way of REPL-driven workflows and analysis tools. - assertions are described in a non-S-expression infix style (fact (inc 1) => 2 (dec 1) => 0). This made it hard to use structural editing tools. - the library takes a strong "all or nothing" approach, where as most Clojure libraries are small and composable.

🙏 6