Skip to content

What's new in midje 1.5

marick edited this page Jan 17, 2013 · 20 revisions
  • Midje has configuration files to control its behavior. Different configuration files can be selected from lein repl, which is useful for things like build servers.

  • There is now a plugin interface that allows you to customizing reporting. This is also useful for working with build servers.

  • The verbosity of Midje output can be controlled with print levels.

  • Facts can now have metadata. It can be used to pick a subset of facts to be checked, whether the compendium or via lein midje.

  • Previously, loading facts checked them, then discarded them. They are now preserved in the compendium.

    • If you're fond of working in the reply, there are a variety of repl tools to let you load facts, recheck them, delete them from the compendium, and so on. These are intended to support both in-repl use and use by smart editors.
  • You can autotesting in the repl, rather than just from lein midje. (An autotester tracks changes in files and retests as needed.) The in-repl version does not interfere (much) with your use of the repl.

  • I've started to evolve the codebase to attract new committers.

    The Midje codebase suffered from its history. It was my first Clojure project, developed to scratch a particular itch, and some early mistakes lingered way past May 23, 2010. Moreover, it's had an interesting evolution. Midje started as something that focused enormously on the macroexpansion of a particular syntax. It became a more normal program that works with runtime state. However the macroexpansion/parsing focus remained smeared all through the codebase, making it forbidding for new committers. The plugin interface for reporting is the first step toward making Midje properly modular, with the subtle code nicely encapsulated.

Clone this wiki locally