The Technical Debt Dial
Fail fast fail clearly
Fail fast fail clearly
Least expressive power
Least expressive power
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)
Interact with running code
Can I do BDD with hitchstory? How do I do BDD with hitchstory?
Recommended complementary tools
Does hitchstory let your BA or Product Manager write stories while you just write the code?
How can executable specifications and living documentation be used for stakeholder collaboration?
Tests are an investment
What is the difference betweeen a test and a story?
The importance of test realism
What is a testing and living documentation framework?
Testing non-deterministic code
Abort a story with ctrl-C
Continue on failure when playing multiple stories
Hiding stacktraces for expected exceptions
Handling failing tests
Flaky story detection
Generate documentation from stories
Gradual typing of story steps
Inherit one story from another
Extra story metadata - e.g. adding JIRA ticket numbers to stories
Story with parameters
Play multiple stories in sequence
Story that rewrites itself
Running a single named story successfully
Shortcut lookup for story names
Special exception named failure
Arguments to steps
Two Unit Tests, Zero Integration Tests
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"?
Why does hitchstory not have a command line interface?
Why programatically rewrite stories?
Why does HitchStory use StrictYAML?
Why not use Behave, Lettuce or Cucumber (Gherkin)?
Why not use the Robot Framework?
Why use hitchstory instead of a unit testing framework?
Element should be on top
Hovering over an element
Html element contents
Should contain text
Using selenium element object
Why not use Capybara-Py or Splinter?
Why not use the page object pattern?
Why not use Robot SeleniumLibrary?
What YAML features does StrictYAML remove?
What is YAML?
When should I use a validator and when should I not?
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
Build a YAML document from scratch in code
Either/or schema validation of different, equally valid different kinds of YAML
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
Parsing comma separated items (CommaSeparated)
Decimal numbers (Decimal)
Email and URL validators
Empty key validation
Enumerated scalars (Enum)
Floating point numbers (Float)
Hexadecimal Integers (HexInt)
Validating strings with regexes (Regex)
Parsing strings (Str)
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 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?
Begging for refactoring time
No Shit Sherlock Comments
The Unit Test Paradox
We don't have time for technical debt