Skip to content
marick edited this page Jan 17, 2011 · 23 revisions

1.0.0

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

    (just 1 2 3) ;; same as...
    (just [1 2 3])
    
  • Caught exceptions contain some guess about where they came from, rather than just {"this Throwable was captured by midje:" #<Error java.lang.Error: If {:a 1} is a map, [{:a 1}] should be too.>}

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

  • cake midje

1.1

  • Some notation that eliminates this:

       ( (checker arg) (value-generator)) => falsey
    

    I'm leaning toward

      (value-generator) =deny=> (checker arg)
    
  • A =streams=> notation

  • Folded prerequisites that work on more than one argument (but still only on one).

Unscheduled

  • Doc strings

  • A thoroughgoing effort to provide good error messages for syntax (etc.) errors.

  • A way of marking individual facts as pending, rather than a whole fact statement. Perhaps

      (f 33) =someday=> 3
    
  • XML/TAP format output, like this: https://github.com/arohner/lein-test-out

Wishlist

  • Typed metaconstants A problem with metaconstants is that you can't say something like

       (f ...n...) => (* 2 ...n...)
    

    because ...n...'s value is a symbol. It'd be nice if you could give it a type Integer, meaning it'd be assigned an arbitrary (random?) integer.

  • Reversible checkers.

    ...movie... => has-favorite-actor? ; instead of (has-favorite-actor? ...movie...) => truthy

    (recommendations) => (just ...movie...) ; instead of (recommendations) => [...movie...]

Clone this wiki locally