For the implementation of the following discussion see build_tests().
Gabbi intends to preserve the flow and semantics of HTTP interactions as much as possible. Every HTTP request needs to be directed at a host of some form. Gabbi provides three ways to control this:
Intercept and live are mutually exclusive per test builder, but either kind of test can freely intermix fully qualified URLs into the sequence of tests in a YAML file.
For test driven development and local tests the intercept style of testing lowers test requirements (no web server required) and is fast. Interception is performed as part of fixture processing as the most deeply nested fixture. This allows any configuration or database setup to be performed prior to the WSGI application being created.