logo
HitchDev
Using HitchPage
Type to start searching
    • About
    • Consulting
    • Contact me
    • Commandlib
      • Changelog
      • Using
        • Alpha
          • Add directory to PATH (with_path)
          • Capture output (.output())
          • Easily invoke commands from one directory (CommandPath)
          • Change your command's environment variables (with_env)
          • Run command and don't raise exception on nonzero exit code (ignore_errors())
          • Piping data in from string or file (.piped)
          • Piping data out to string or file (.piped)
          • Run commmands interactively using icommandlib or pexpect
          • Easily invoke commands from the current virtualenv (python_bin)
    • Faketime
    • Hitchdb
      • Changelog
      • Approach
      • Using
        • Postgres Types
        • Quickstart
    • Hitchpage
      • Changelog
      • Approach
        • Page Config Model
      • Using
        • Iframe
        • Quickstart
        • Reload
    • Hitchrunpy
      • Changelog
      • Using
        • Alpha
          • Cprofile
          • Environment vars
          • Exceptions
          • Include files
          • Interact with running code
          • Setup code
          • Syntax errors
          • Timeout
          • Variables
    • Hitchstory
      • Changelog
      • Approach
        • Is HitchStory a BDD tool? How do I do BDD with hitchstory?
        • Complementary tools
        • Domain Appropriate Scenario Language (DASL)
        • Executable specifications
        • Flaky Tests
        • The Hermetic End to End Testing Pattern
        • ANTIPATTERN - Analysts writing stories for the developer
        • Separation of Test Concerns
        • Snapshot Test Driven Development (STDD)
        • Test Artefact Environment Isolation
        • Test concern leakage
        • Tests as an investment
        • What is the difference betweeen a test and a story?
        • The importance of test realism
        • Testing non-deterministic code
        • Specification Documentation Test Triality
      • Using
        • Behavior
          • Abort a story with ctrl-C
          • Upgrade breaking changes between v0.14 and v0.15
          • Handling failing tests
          • Running a single named story successfully
        • Documentation
          • Generate documentation with extra variables and functions
          • Generate documentation from story
        • Engine
          • Hiding stacktraces for expected exceptions
          • Given preconditions
          • Gradual typing of story steps
          • Match two JSON snippets
          • Match two strings and show diff on failure
          • Extra story metadata - e.g. adding JIRA ticket numbers to stories
          • Story with parameters
          • Story that rewrites given preconditions
          • Story that rewrites itself
          • Story that rewrites the sub key of an argument
          • Raising a Failure exception to conceal the stacktrace
          • Arguments to steps
          • Strong typing
        • Inheritance
          • Inherit one story from another simply
          • Story inheritance - given mapping preconditions overridden
          • Story inheritance - override given scalar preconditions
          • Story inheritance - parameters
          • Story inheritance - steps
          • Variations
        • Pytest
          • Self rewriting tests with pytest and hitchstory
        • Runner
          • Continue on failure when playing multiple stories
          • Flaky story detection
          • Play multiple stories in sequence
          • Run one story in collection
          • Shortcut lookup for story names
        • Setup
          • Creating a basic command line test runner
      • Why
        • Declarative User Stories
        • Why does hitchstory mandate the use of given but not when and then?
        • Why is inheritance a feature of hitchstory stories?
        • Why does hitchstory not have an opinion on what counts as interesting to "the business"?
        • What does the license mean for me?
        • Why does hitchstory not have a command line interface?
        • Principles
        • Why does HitchStory have no CLI runner - only a pure python API?
        • Why Rewritable Test Driven Development (RTDD)?
        • Why does HitchStory use StrictYAML?
      • Why not
        • Why use Hitchstory instead of Behave, Lettuce or Cucumber (Gherkin)?
        • Why not use the Robot Framework?
        • Why use hitchstory instead of a unit testing framework?
    • Icommandlib
      • Changelog
      • Using
        • Custom Screen Condition
        • Kill
        • Process properties
        • Screenshot
        • Screensize
        • Send keys
        • Wait until successful exit
    • Orji
      • Changelog
      • Using
        • Demonstration of all template features
        • Deliberately trigger a template failure
        • Insert file
        • Example of Generated LaTeX A4 CV
        • Example of Generated LaTeX A4 Letter
        • Convert chunks of orgmode text into markdown
        • Use a python module with template variables and methods
        • Templated with more than one note
        • Run
    • Strictyaml
      • Changelog
      • What YAML features does StrictYAML remove?
      • What is YAML?
      • When should I use a validator and when should I not?
      • Using
        • Alpha
          • Compound
            • Fixed length sequences (FixedSeq)
            • Mappings combining defined and undefined keys (MapCombined)
            • Mappings with arbitrary key names (MapPattern)
            • Mapping with defined keys and a custom key validator (Map)
            • Using a YAML object of a parsed mapping
            • Mappings with defined keys (Map)
            • Optional keys with defaults (Map/Optional)
            • Validating optional keys in mappings (Map)
            • Sequences of unique items (UniqueSeq)
            • Sequence/list validator (Seq)
            • Updating document with a schema
          • Howto
            • Build a YAML document from scratch in code
            • Either/or schema validation of different, equally valid different kinds of YAML
            • Labeling exceptions
            • Merge YAML documents
            • Revalidate an already validated document
            • Reading in YAML, editing it and writing it back out
            • Get line numbers of YAML elements
            • Parsing YAML without a schema
          • Restrictions
            • Disallowed YAML
            • Duplicate keys
            • Dirty load
          • Scalar
            • Boolean (Bool)
            • Parsing comma separated items (CommaSeparated)
            • Datetimes (Datetime)
            • Decimal numbers (Decimal)
            • Email and URL validators
            • Empty key validation
            • Enumerated scalars (Enum)
            • Floating point numbers (Float)
            • Hexadecimal Integers (HexInt)
            • Integers (Int)
            • Validating strings with regexes (Regex)
            • Parsing strings (Str)
      • Why
        • What is wrong with duplicate keys?
        • What is wrong with explicit tags?
        • What is wrong with flow-style YAML?
        • The Norway Problem - why StrictYAML refuses to do implicit typing and so should you
        • What is wrong with node anchors and references?
        • Why does StrictYAML not parse direct representations of Python objects?
        • Why does StrictYAML only parse from strings and not files?
        • Why is parsing speed not a high priority for StrictYAML?
        • What is syntax typing?
        • Why does StrictYAML make you define a schema in Python - a Turing-complete language?
      • Why not
        • Why avoid using environment variables as configuration?
        • Why not use HJSON?
        • Why not HOCON?
        • Why not use INI files?
        • Why not use JSON Schema for validation?
        • Why not JSON for simple configuration files?
        • Why not JSON5?
        • Why not use the YAML 1.2 standard? - we don't need a new standard!
        • Why not use kwalify with standard YAML to validate my YAML?
        • Why not use Python's schema library (or similar) for validation?
        • Why not use SDLang?
        • What is wrong with TOML?
        • Why shouldn't I just use Python code for configuration?
        • Why not use XML for configuration or DSLs?

    Using HitchPage

    How to:

    • Postgres Types
    • Quickstart
    Copyright © 2018 - 2023 Colm O'Connor
    Made with Material for MkDocs