This version adds 3 new features:

And some improvements:

  • added better failure messages to spot faster the issue with List("1, 2") === List("1", "2")
  • when the failure message for be_== is too long, split it on 2 lines
  • added more options to the FilesRunner and the possibility to export all possible outputs from it: junitxml, console, html,...
  • matchers created from function returning a boolean and a failure message will get a proper english negated message when the matcher is negated. If a matcher m returns 3 is not even, then m.not returns 3 is even (instead of not(3 is even before)
  • definition of Given/When/Then steps: if no variable is present in the textual description, the whole string is passed to the step
  • a Given/When step can use thrown expectations to check intermediate behavior. If a FailedException is thrown, the rest of the steps will not execute
  • a Given/When step can check a value before passing it to the next step ("abc" must have size(3) will pass the string abc to the next step)
  • changed the Step(stopOnFail=true) behavior for a sequential specification so that any previous failure will stop the rest of the specification
  • issue 117: specifications with a 1-argument constructor can be instantiated if the argument has a 0-argument constructor or a 1-argument constructor subject to the same recursive rule

And some fixes: