This version adds new features on top of 1.8.2:
isolated
specifications where each example is executed in its own copy of the specification so that all local variables are re-initialized (an example here)- improved the documentation showing that
DataTables
can be displayed as examples - improved the performance of the
beMatching
matchers by compiling the regex only once - added an
AllExpectations
trait to collect all the expectations of an example instead of stopping after the first failure - Mockito can now be used with methods having by-name arguments or implicitly converted arguments
- added some helper functions and conversions to verify function/partial function parameters with Mockito. Note: the specs2 jar needs to be placed before the Mockito jar on the classpath
- a
Notifier
/Exporter
can now be specified as an argument for custom reporting of the specification - mutable specifications can now be used as acceptance specifications with: paragraphs and formatting fragments, auto-examples, given/when/then style
- reworked the User Guide titles for better readability and structure
- the exact type of an exception happening during the execution of an example is now kept for better reporting
- ScalaCheck properties can now be used inside contexts in a mutable specification
- added
haveKeys
andhaveValues
matchers for Maps - added a
showAs
method to totally control how values are displayed in failure messages. This is especially useful for filtering and displaying large collections or maps:longList.showAs(_.filter(_.startsWith("hi")).mkString("\n")) must have size(100)
- added a
stopOnSkip
argument to stop the execution of a specification after the first skipped value - added a
skipAllIf(condition)
argument to skip all the examples if a condition is verified - added a
checkUrl
argument to check that urls in the produced html files are indeed accessible - added a confliciting implicit with a method name explaining what is happening if an operator is forgotten for an
Example
. When trying to compile:"this example won't work" { ko }
, the compiler will raise an implicit conflict error with including this message***If you see this message this means that you've forgotten an operator after the description string: you should write "example" >> result ***
And some fixes:
- fixed issue 61: proper timing of specifications when examples are executed concurrently
- fixed issue 63: improper inference for
ParserMatchers
- fixed issue 64: display of the
>>
operator in the User Guide - fixed issue 65: result of and-ed
DataTables
- fixed issue 69: use of
aka
in matcher adaptation - fixed issue 70: used a threadsafe JSON parser for JSON matchers
==========================