Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

97 lines (83 sloc) 4.223 kb

1.4.0 (forthcoming)



  • Fix mysterious type conversion error in some cases when midje has to try really hard to guess the line number.




  • Background prerequisites are now scoped to facts. That works better with let-bindings. (Issue 26)


  • Can defer individual checks in a fact with the =future=> arrow.
  • Negating arrows in facts (=not=>)
  • Folded prerequisites are much more competent
  • Some improvement in error reporting.
  • The #'roughly checker can be used for inexact numerical comparisons.
  • #'irrelevant is a synonym for #anything
  • Line numbers are better reported for failures of very stripped-down forms (like (fact 1 => odd?)
  • A prerequisite like (f 1) =streams=> [1 2 3] produces the next value each time it's called.
  • Issue warning when bare function is used in a prerequisite. Behavior will change in 1.2.
  • Several ways to make checkers that can be used in prerequisites.


  • Ben Mabey fix: eagerly preserve record types
  • Extended-= and collection checkers have semantics for mixing maps and records.


  • Allow, where unambiguous, collection checkers to have multiple element arguments:

    (f) => (just 1 2 3 ) ; same as.. (f) => (just [1 2 3])

  • Unexpected exceptions are displayed with a trimmed stack trace FAIL at (t_collection.clj:427) Expected: 33 Actual: java.lang.Error: Oops! midje.checkers.t_collection$go.invoke(t_collection.clj:425) midje.checkers.t_collection$eval4728$fn__4729.invoke(t_collection.clj:427) midje.unprocessed$expect_STAR_$fn__2586$fn__2587.invoke(unprocessed.clj:69) midje.unprocessed$expect_STAR_$fn__2586.invoke(unprocessed.clj:67) midje.util.thread_safe_var_nesting$with_altered_roots_STAR_.invoke(thread_safe_var_nesting.clj:33) midje.unprocessed$expect_STAR_.invoke(unprocessed.clj:66) midje.checkers.t_collection$eval4728.invoke(t_collection.clj:426) user$eval19.invoke(NO_SOURCE_FILE:1)

  • lein midje runs clojure.test deftests and integrates the results into the summary.

  • cake midje does the same for Cake users.

Jump to Line
Something went wrong with that request. Please try again.