All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
clojure.test match-equals? argumentsmatch protocol, they now default to using equality matching.matcher-combinators.standalone/match (test-framework independent)Add new matching context for clojure.test:
match-roughly?: Matches all numerics as long as they are within a given delta of the expected.thrown-match?: (thrown-match? {:foo 1} (bang!)+' with + and -' with - in roughly matchingequals matcher for array-seqequals matcher for chunked-sequencesequals matcher for URIsin-any-order, embeds, set-{embeds|equals})No such namespace: clojure.testAdd new matching contexts: For Midje:
match-with: takes a class->matcher map and an expected matcher. The map defines what matcher will be used by default when a particular class instance is found.match-equals: Allows for exact matching of datastructures by using the equals matcher instead of embeds for maps.match-roughly: Matches all numerics as long as they are within a given delta of the expected.For clojure.test:
match-with?: same as the midje version abovematch-equals?: same as the midje version above
As well as matcher-combinator.test/build-match-assert to help build new matcher contexts:fail, which is the standard in clojure.test
for reporting mismatches. Thanks to Arne Brasseur (@plexus) for implementationmatch? and thrown-match?[BREAKING] When a record is in the expected position of the matcher, the
actual value must be a record of the same type.
Previous behavior would match if the actual was a map with the same keys,
or a record of a different type with the same keys
in-any-order / embedsmatch? to help avoid linters removing requirethrows-match (midje) and thrown-match? (clojure.test) exception handling matchersin-any-order choose smallest mismatch when same number of matchers one level down fail.embeds sequence matching where some matches weren't found:mismatch directive for clojure.test reportingprefix matcher more informativeboolean? which is only in clojure 1.9equals-map, equals-seq, and equals-value to all be equals
and do dispatch based on typesublist to prefixsubset sequence matcher to be embedscontains-map to embeds and make it do dispatch based on typeequals and embeds as well as set-equals
and set-embeds which allow one to use sequences to match sets, skirting the
issue that a set matcher of form #{odd? odd?} will reduce to #{odd?}.in-any-order to print diff for element ordering that leads to most direct matchesin-any-order operating over a list with several identical matchers failednil to be interpreted as equals-value by parser:dev profilematcher-combinators.matchers/equals-value in parser.matcher-combinators.midje/matcher as a macro; it isn't neededmatch inside of midje provided formssubset issue where order of elements effected behaviorCan you improve this documentation? These fine people already did:
Phillip Mates, David Chelimsky, Edward Wible, EuAndreh, Marcelo Piva & Rafael de F. FerreiraEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |