Concept index - marick/Midje GitHub Wiki
For a tutorial introduction to, and examples of, many concepts, see the tutorial and clojure.test tutorial.
- Autotest: rechecking as source or test code changes
- Use (from both lein-midje and the compendium)
 
 - Checkables: a machine-checkable claim
- The main description
 - Use of extended equality
 - The different checkable arrows
 - About private functions
 
 - Checkers: Functions used on the right-hand side of a checkable
- Simple checkers
 - Checking sequential collections
 - Checking maps and records
 - Collection checkers and strings (extended equality is usually more useful)
 - Checking sets
 - Combining checkers to create new ones
 - Making checkers provide more information about failures
 - Defining checkers to work with prerequisite arguments the way Midje's built-in checkers do.
 
 - Compendium: Where facts are stored in a running image
- Description and tools
 - Production mode: preventing Midje forms in production code from being compiled
 
 - Configuration
 - Emacs
 - Extended equality: special treatment of the right-hand-side of a checkable arrow
- Rules
 - Use with contents of sequential collections and with maps and with sets
 - Using it directly rather than via a checkable's arrow
 
 - Facts: a grouping of checkables
- The main description, including tabular facts and future facts
 - Examples of nesting and lexical scope
 - A formal-ish description of syntax
 - How facts are handled at runtime
 - Preventing facts from being checked at load time
 - Fact groups allow top-level facts to share metadata.
 
 - Future facts: facts that act as "todo" notes
 - Leiningen
- How Midje works with lein test
 - Lein-midje basics
 - Lein-midje and filtering facts
 
 - Metaconstants: Constant data with no properties except those explicitly given
 - Metadata (on facts)
- Syntax
 - Automatically defined metadata
 - Filtering facts
 - Repl functions to fetch fact metadata
 - Fact groups allow top-level facts to share metadata.
 
 - Output
- Verbosity print levels
 - Colorizing
 - Customizing reporting
 - Including the namespace in failure output
 - Suppressing deprecation warnings
 - Suppressing future facts
 
 - Prerequisites: how facts can describe relationships between functions
- Motivation
 - Extended discussion, with examples. The discussion encompasses:
- the role of metaconstants
 - how prerequisites use a slight variant of extended equality
 - specifying how often a prerequisite will be called
 - how to claim that a function will never be called
 - how nested calls to functions are handled
 - argument arity
 
 - Syntax
 - Prerequisites that apply to a fact and all subfacts, rather than just one checkable
 - Variant prerequisite arrows
 - Prerequisites that fall through to the real function
 - Prerequisites and protocols
 - Using private functions in prerequisites
 
 - Records
- Applying extended equality to tests of their values
 - Use maps on the right-hand side of checkables if you care about content, not type
 - Prerequisites and protocols
 
 - Regular expressions
- Treatment in extended equality
 - Treatment in the 
haschecker` - Treatment in [
every-checkerandsome-checker](/marick/Midje/wiki/combining-checkers) 
 - Repl tools
- Introduction
 - Features common to the tools
- Focusing on a "working set" of facts
 - Changing output verbosity
 - Fetching fact metadata
 - Redefining facts such that old versions are replaced
 
 - Autotest
 - Filtering facts
 
 - State: setup and teardown
 - Tabular Facts
- Main description
 - Somewhat more formal explanation